zoukankan      html  css  js  c++  java
  • javascript 中文数字阿拉伯数字转换类 Nzh

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

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

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

    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")            //人民币壹元贰角叁分肆厘
  • 相关阅读:
    Problem C: 爬楼梯
    Problem E: 倒水(Water)
    Problem H: tmk买礼物
    HDU 1078 FatMouse and Cheese
    POJ 3186 Treats for the Cows
    POJ 1661 Help Jimmy
    POJ 1458 Common Subsequence
    2018-软工机试-D-定西
    2018-软工机试-F-庙会
    2018-软工机试-C-和你在一起
  • 原文地址:https://www.cnblogs.com/whyoop/p/5511228.html
Copyright © 2011-2022 走看看