之前工作中碰到了数字转中文的情景,网上找的现成方法或多或少不合我的口味,最后还是自已写了一个.

现在整理了一下,补充了繁体,自定义字符,以及反函数(中文数字转阿拉伯数字)

现在发布出来,希望能合大家的口味.

demo: http://cnwhy.github.io/nzh/demo/index.html

项目地址: https://github.com/cnwhy/nzh 欢迎push

Nzh

Nzh适用于开发过程中需要将数字转换为中文的场景 以字符串的方式转换,解决超大数及浮点数等问题,请自行对原数据进行四舍五入等操作.

install

npm install nzh
bower install nzh

引用

var Nzh = require("nzh");

demo

var nzhcn = Nzh.cn;   //使用简体中文,另外有 Nzh.hk -- 繁体中文  

nzhcn.encodeS(100111)         //转中文小写 >> 十万零一百一十一
nzhcn.encodeB(100111) //转中文大写 >> 壹拾万零壹佰壹拾壹
nzhcn.toMoney('100111.11') //转中文金额 >> 人民币壹拾万零壹佰壹拾壹元壹角壹分

关于十的口语化

//小写默认启用
nzhcn.encodeS(13.5) //十三点五
nzhcn.encodeS(13.5,fasle) //一十三点五 //大写默人关闭
nzhcn.encodeB(13.5) //壹拾叁點伍
nzhcn.encodeB(13.5,true) //拾叁點伍

关于关于超级大数

//默认未引入"兆 京"等单位,超"千万亿"位时,默认以争议教少的"万万亿"为单位
nzhcn.encodeS(1e16) //一万万亿
nzhcn.encodeS(1e16,null,false) //一亿亿

中文转阿拉伯数字

nzhcn.decodeS(str) //小写转数字 十万零一百一十一 =>> 100111
nzhcn.decodeB(str) //大写转数字 壹拾万零壹佰壹拾壹 =>> 100111

自定义

var custom = new Nzh({
ch: '〇壹贰叁肆伍陆柒捌玖' //数字字符
,ch_u: '个十百千万亿兆京' //数位单位字符 万以下10进制,万以上万进制,个位不能省略
,other: '负点' //负数,小数字符
,m_t: '人民币' //金额前缀
,m_z: '正' //无小数后缀
,m_u: '元角分厘' //金额单位
});
custom.encode("10001000000000000") //壹京〇壹兆
custom.decode("壹兆") //1000000000000
custom.toMoney("1.234") //人民币壹元贰角叁分肆厘

javascript 中文数字阿拉伯数字转换类 Nzh的更多相关文章

  1. php 网站中文简体繁体转换类

    php 网站中文简体繁体转换类 <?php /* * define zh convert functions * 2017-4-28 use str_replace for speed * zh ...

  2. JavaScript字符串&数字间转换

    比较操作符的操作数可以是任意类型.然而,只有数字和字符串才能真正执行边角操作,因此那些不是数字和字符串的操作数都讲进行类型转换,类型转换规则如下:      如果操作数为对象,那么对象转换为原始值:如 ...

  3. trie树信息抽取之中文数字抽取

    这一章讲一下利用trie树对中文数字抽取的算法.trie树是一个非常有用的数据结构,可以应用于大部分文本信息抽取/转换之中,后续会开一个系列,对我在实践中摸索出来的各种抽取算法讲开来.比如中文时间抽取 ...

  4. 使用Java将阿拉伯数字转换为中文数字(适配小数转换)

    Java数字转换工具类 简介 该工具类可以将整数.小数.负数转换为中文的数字,如: 0 --> 零 1 --> 一 2.1 --> 二点一 -2.1 --> 负二点一 具体代码 ...

  5. JavaScript将输入的数字金额转换成对应的中文大写金额

    // 将输入的数字金额转换成对应的中文大写金额 // idNumber输入的数字金额,idCHN输出的中文大写金额 function TransformNumberIntoCHN(idNumber, ...

  6. oracle改进之将阿拉伯数字转换成中文数字

    本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处   http://www.cnblogs.com/king-xg/p/6839738.html 将阿拉伯数字转 ...

  7. Javascript中将数字转换为中文的方法

    //js实现将数字1234转化为汉字字符串(一千二百三十四)(或大写汉字壹仟贰佰叁拾肆): /*阿拉伯数字转中文数字 中文数字的特点: 每个计数数字都跟着一个权位,权位有:十.百.千.万.亿. 以“万 ...

  8. C# 阿拉伯数字转换为中文数字/中文数字转换为阿拉伯数字

    项目中经常会格式化数据,转换数字的使用情况比较多,记录一下数字转换的方法! 如果需要转换为繁体中文,将数组里的汉字换成繁体中文即可. 1.阿拉伯数字转换为中文数字 /// <summary> ...

  9. PHP 数字金额转换成中文大写金额的函数 数字转中文

    /** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function num_to_rmb($ ...

随机推荐

  1. gmail邮箱怎么批量删除邮件

    转载:http://jingyan.baidu.com/article/9f7e7ec056cbcd6f2815543c.html 首先打开gmail邮箱,随便打开一封邮件,找到发件人邮件地址,复制, ...

  2. 【BZOJ】【1019】【SHOI2008】汉诺塔

    递推/DP 类似普通汉诺塔的一个递推(模拟?$10^{18}$没法模拟吧…… 题解:http://blog.csdn.net/regina8023/article/details/43016813 因 ...

  3. 在线编辑器 (UBB, FCK)

    这里主要说明一下:UBB UBB 使用类型HTML的语法.  UBB相对FCK的HTML方式, 安全性高. 用户不可以直接嵌入HTML代码.   UBB 在线编辑器(JS版): http://www. ...

  4. RCC 2014 Warmup (Div. 2)

    一场很很多HACK的比赛,PREtest太弱了,真的很多坑!平时练习的时候很少注意这些东西了! A:开始一直在模拟,后来发现自己的思路逻辑很乱,果然做比赛不给力! 直接在代码中解释了 #include ...

  5. jquery的show/hide性能测试

    这篇文章是jQuery各种 show/hide方式的性能测试.作者之所以测试这个源于Robert Duffy在SanFrancisco举行的jQuery大会上的一句话:“.hide()和.show() ...

  6. DevSecOps简介(二)

    越来越多的组织机构开始采取 DevOps 实践,作为呼应,本文将概括强调很多人认为这一实践缺失的部分:安全.随着 NV (网络虚拟化) 和 NFV (网络功能虚拟化)的使用率逐步攀升,在开发和部署流程 ...

  7. winform中的时间轴控件

    我现在做的项目遇到一个需求,就是有没有类似的控件: 我要实现的功能是:播放录像. 某个时间段内假如有2个录像,这个坐标表示的是时间,假如我现在拖动时间轴,拖到第一个录像里面开始播放第一个录像,拖到2个 ...

  8. ASP.NET 4.5新特性WebAPI从入门到精通

    在新出的MVC4中,增加了WebAPI,用于提供REST风格的WebService,新生成的WebAPI项目和典型的MVC项目一样,包含主要的Models.Views.Controllers等文件夹和 ...

  9. cf 383 D

    D. Antimatter time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  10. 概述Log4j简介

    在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包-Log4j. Log4j是Apache的一个开放源代码项目,通过使用Log4j ...