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;
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)
中文大写转数字
nzhcn.encodeS("13.5");
nzhcn.encodeS("13.5", {tenMin:false});
nzhcn.encodeB("13.5");
nzhcn.encodeB("13.5", {tenMin:true});
nzhcn.encodeS(1e16);
nzhcn.encodeS(1e16, {ww: false});
nzhcn.toMoney("1");
nzhcn.toMoney("1",{complete:true});
nzhcn.toMoney("0.1");
nzhcn.toMoney("0.1",{unOmitYuan:true});
nzhcn.toMoney("0.1",{complete:true});
nzhcn.toMoney("1");
nzhcn.toMoney("1",{outSymbol:false});
options 说明
tenMin
: 十的口语化开关, 默认值为 false
- 注:
Nzh.cn
和Nzh.hk
中的encodeS
方法默认 true
ww
: "万万"化开关, 默认值为 true
unOmitYuan
: 个为零时不省略元, toMoney
函数专用配置, 默认 false
complete
: 输出完整金额开关, toMoney
函数专用配置, 默认 false
forceZheng
: 以输出结果加“整”(只要输出的结果没有到分位就加“整”), 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("壹兆");
nzh.toMoney("1.234");
nzh.encode(num,options)
数字转中文
nzh.decode(zh_num,options)
中文转数字
nzh.toMoney(num,options)
数字转金额
参考资料