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

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

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

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. android开发类似coverflow效果的3d旋转

    源码下载地址:http://download.csdn.net/detail/feijian_/8888219

  2. 深入浅出谈4G ─ 4G LTE网速到底有多快?

    常说4G网速能达100MHz,实际感受远远没有这么快.今天和大家一起算算帐,算算4G LTE网速到底有多快. 基本概念1:资源粒子 个资源粒子就是用个子载波传送个OFDM符号. 1个子载波的带宽是15 ...

  3. 2.C#基础篇-->数据类型

    C#数据类型分为:值类型,引用类型和指针类型(仅在不安全代码中使用) 1.值类型. 值类型包含:简单类型(整型,浮点类型和小数类型),枚举类型和结构类型.所有值类型都隐含的声明一个公共的无参构造函数, ...

  4. poj 1330 Nearest Common Ancestors LCA

    题目链接:http://poj.org/problem?id=1330 A rooted tree is a well-known data structure in computer science ...

  5. 【HDOJ】【3506】Monkey Party

    DP/四边形不等式 裸题环形石子合并…… 拆环为链即可 //HDOJ 3506 #include<cmath> #include<vector> #include<cst ...

  6. 关灯问题 dp

    题意是一排路灯,每个路灯有耗电量,照明度,需要给这n个路灯按顺序分组,每组内的最大耗电量是电灯数乘t,可以选择关闭一些电灯,求最大的照明度: 这题思路很明显,预处理出一个g[i][j]表示i到j分为一 ...

  7. Slim - 超轻量级PHP Restful API构建框架

    下载源码包: http://www.slimframework.com/ 基于Slim的Restful API Sample: <?php require '/darjuan/Slim/Slim ...

  8. 对话框Dialog

    QMainWindow QMainWindow是 Qt 框架带来的一个预定义好的主窗口类. 主窗口,就是一个普通意义上的应用程序(不是指游戏之类的那种)最顶层的窗口.通常是由一个标题栏,一个菜单栏,若 ...

  9. AngularJs学习笔记--concepts(概念)

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...

  10. Kerberos的组件和术语(翻译和注解)

    之所以要翻译这篇文章,是因为提到了一些通常于对Kerberos协议简介性质的文章所没有提到的细节,而这些细节对于理解Kerberos的工作原理,以及Kerberos协议实现的使用都是很有必要的. 1. ...