成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

將數(shù)字用中文讀取出來

chavesgu / 1208人閱讀

摘要:數(shù)字轉換成中文針對財務數(shù)據(jù)將金額數(shù)據(jù)轉換成大寫,在網(wǎng)上有很多例子,總感覺有更簡單的方式實現(xiàn),下面是具體的源碼和探究。目前支持持位數(shù),如果更大的數(shù)據(jù)可進行修正。

數(shù)字轉換成中文

針對財務數(shù)據(jù)將金額數(shù)據(jù)轉換成大寫,在網(wǎng)上有很多例子,總感覺有更簡單的方式實現(xiàn),下面是具體的源碼和探究。如果疑問,或更好的建議歡迎留言,共同學習。

源碼
class NumToZh_cn {
    numLevel = [ 
        "", "拾", "佰", "仟",
        "萬", "拾", "佰", "仟", 
        "億", "拾", "佰", "仟", 
        "萬", "拾", "佰", "仟", 
        "億" 
    ]
    currencyUnit = [ "角", "分" ]
    numMapToCh = {
        "0": "零", "1": "壹", "2": "貳", "3": "叁", "4": "肆", 
        "5": "伍", "6": "陸", "7": "柒", "8": "捌", "9": "玖"
    }
     _test( arr, item, index ){
        const unit = this.numLevel[ arr.length - index - 1 ];
        return item === "0" ? 
        /(萬|億)/.test(unit) ? unit : "零" : this.numMapToCh[ item ] + unit;
    }
    _dataIntHandle( arr ){
        return arr.map( ( item, index ) => this._test(arr, item, index ) )
                .join("")
                .replace(/零+/g, "零" )
                .replace(/零$/,"") + "元";
    }
    _dataDeciHandle( arr ){
        return arr.map( ( item, index ) => 
            item === "0" ? "" : this.numMapToCh[ item ] + this.currencyUnit[ index ] 
        ).join("");
    }
    convert( numStr ){
        numStr = "" + numStr;
        if( !/^d+(.d+)?$/.test( numStr.trim() ) ) throw "param is not number";
        const [ x="", y="" ] = numStr.split(".");
        return this._dataIntHandle( x.split("") ) + this._dataDeciHandle( y.split("") ) + "整";
    }
}
const numToZh_cn = new NumToZh_cn();
export {
    NumToZh_cn
}
源碼說明

通過 num 與中文的映射實現(xiàn),避免了傳統(tǒng)的循環(huán)遍歷的實現(xiàn)方式。目前支持持17位數(shù),如果更大的數(shù)據(jù)可進行修正。

 numToZh_cn( 100400 ) // 壹拾萬零肆佰零元整

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/104067.html

相關文章

  • 打造最全面的PHPExcel開發(fā)解決方案

    摘要:過去工作中使用較多,碰到并解決了各種大大小小的問題,總結出這樣一篇文章,一方面記錄自己踩過的坑,一方面與大家分享,讓大家少走彎路,并不斷完善之,歡迎大家去上面和提交,不斷補充和優(yōu)化,打造最全面的開發(fā)解決方案地址原文地址基礎小試牛刀引用文 過去工作中使用PHPExcel較多,碰到并解決了各種大大小小的問題,總結出這樣一篇文章,一方面記錄自己踩過的坑,一方面與大家分享,讓大家少走彎路,并不...

    ThinkSNS 評論0 收藏0
  • 深入分析 Java Web 中的中文編碼問題

    摘要:文章首發(fā)地址深入分析中的中文編碼問題背景編碼問題一直困擾著程序開發(fā)人員,尤其是在中更加明顯,因為是跨平臺的語言,在不同平臺的編碼之間的切換較多。 文章首發(fā)地址:深入分析 Java Web 中的中文編碼問題 背景: 編碼問題一直困擾著程序開發(fā)人員,尤其是在 Java 中更加明顯,因為 Java 是跨平臺的語言,在不同平臺的編碼之間的切換較多。接下來將介紹 Java 編碼問題出現(xiàn)的根本原...

    jsyzchen 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<