Socket
Socket
Sign inDemoInstall

nzh

Package Overview
Dependencies
0
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    nzh

数字转中文,大写,金额


Version published
Weekly downloads
5.7K
decreased by-2.25%
Maintainers
1
Install size
282 kB
Created
Weekly downloads
 

Readme

Source

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",{unOmitYuan:true});    //人民币零元壹角
nzhcn.toMoney("0.1",{complete:true});      //人民币零元壹角零分

//outSymbol  默认 true
nzhcn.toMoney("1");                        //人民币壹元整
nzhcn.toMoney("1",{outSymbol:false});      //壹元整

options 说明

  • tenMin: 十的口语化开关, 默认值为 false
    • 注: Nzh.cnNzh.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("壹兆");              // 1000000000000
nzh.toMoney("1.234");           // 人民币壹元贰角叁分肆厘
nzh.encode(num,options)

数字转中文

nzh.decode(zh_num,options)

中文转数字

nzh.toMoney(num,options)

数字转金额

参考资料

  • 繁读法
  • 中文数字

Keywords

FAQs

Last updated on 11 Dec 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc