原網站
Nzh
Nzh
適用於需要轉換阿拉伯數字與中文數字的場景。
特點如下:
- 以字符串的方式轉換,沒有超大數及浮點數等問題(請自行對原數據進行四捨五入等操作)
- 支持科學記數法字符串的轉換
- 支持口語化
- 支持自定義轉換(不論是
兆
,京
還是釐
都可以用) - 對超大數支持用爭議教少的
萬萬億
代替億億
- 當然,你還可以把中文數字再轉回阿拉伯數字
安裝
$ npm install nzh --save $ bower install nzh --save
引用
var Nzh = require("nzh"); var nzhcn = require("nzh/cn"); //直接使用簡體中文 var nzhhk = require("nzh/hk"); //繁體中文
注: 瀏覽器直接引用請使用
dist/
文件夾中的文件 (適配CMD,AMD);
示例
var nzhcn = Nzh.cn; // 使用簡體中文, 另外有 Nzh.hk -- 繁體中文 nzhcn.encodeS(100111); // 轉中文小寫 >> 十萬零一百一十一 nzhcn.encodeB(100111); // 轉中文大寫 >> 壹拾萬零壹佰壹拾壹 nzhcn.encodeS("1.23456789e+21"); // 科學記數法字符串 >> 十二萬三千四百五十六萬萬七千八百九十萬億 nzhcn.toMoney("100111.11"); // 轉中文金額 >> 人民幣壹拾萬零壹佰壹拾壹元壹角壹分
API
Nzh.cn / Nzh.hk
爲方便使用,默認實現了兩個對像:
Nzh.cn
簡體中文Nzh.hk
正體中文(繁體中文)
都包含以下方法:
encodeS(num,options)
轉中文小寫encodeB(num,options)
轉中文大寫toMoney(num,options)
轉中文金額decodeS(zh_num)
中文小寫轉數字decodeB(zh_num)
中文大寫轉數字
// options.tenMin // encodeS默認true nzhcn.encodeS("13.5"); // 十三點五 nzhcn.encodeS("13.5", {tenMin:false}); // 一十三點五 // encodeB默人false nzhcn.encodeB("13.5"); // 壹拾叄點伍 nzhcn.encodeB("13.5", {tenMin:true}); // 拾叄點伍 // options.ww //Nzh.cn和Nzh.hk未引入兆、京等單位,超千萬億位時,默認以爭議較少的萬萬億爲單位 nzhcn.encodeS(1e16); // 一萬萬億 nzhcn.encodeS(1e16, {ww: false}); // 一億億 // options.complete nzhcn.toMoney("1"); //人民幣壹元整 nzhcn.toMoney("1",{complete:true}); //人民幣壹元零角零分 nzhcn.toMoney("0.1"); //人民幣壹角 nzhcn.toMoney("0.1",{complete:true}); //人民幣零元壹角零分 //outSymbol 默認 true nzhcn.toMoney("1"); //人民幣壹元整 nzhcn.toMoney("1",{outSymbol:false}); //壹元整
options 說明
tenMin
: 十的口語化開關, 默認值爲false
- 注:
Nzh.cn
和Nzh.hk
中的encodeS
方法默認true
- 注:
ww
: "萬萬"化開關, 默認值爲true
complete
: 輸出完整金額開關,toMoney
函數專用配置, 默認false
outSymbol
: 輸出金額前綴字符,toMoney
函數專用配置, 默認true
new Nzh(langs) 自定義
var nzh = new Nzh({ ch: "〇壹貳叄肆伍陸柒捌玖", // 數字字符 ch_u: "個十百千萬億兆京", // 數位單位字符,萬以下十進制,萬以上萬進制,個位不能省略 ch_f: "負", // 負字符 ch_d: "點", // 小數點字符 m_u: "元角分釐", // 金額單位 m_t: "人民幣", // 金額前綴 m_z: "正" // 金額無小數後綴 }); nzh.encode("10001000000000000"); // 壹京〇壹兆 nzh.decode("壹兆"); // 1000000000000 nzh.toMoney("1.234"); // 人民幣壹元貳角叄分肆釐
nzh.encode(num,options)
數字轉中文
nzh.decode(zh_num,options)
中文轉數字
nzh.toMoney(num,options)
數字轉金額