天天看点

js将数字金额转换为大写人民币

今天换算律师打官司金额,用到了小写金额转化为大写汉字的问题,这里把具体思路分析一下

1、首先判断输入数值正负问题,

js将数字金额转换为大写人民币

2、其次有小数点部分需要处理,将数值每次乘以10进行拆分,乘10——%10——结果为角位数值,分位数值同样方法得出,依次将所得数值后面加角、分,

js将数字金额转换为大写人民币

将所有用到的大写数字都定义出来,用来拼接;

js将数字金额转换为大写人民币

循环角、分,按照乘10%10的步骤对数值进行判断;

整数部分则角和分位无值,替换为整。(s = s || '整';    )

3、接下来整数部分相对简单,虽然处理的位数多,但只需要不停的%10就可以,代码如下;

js将数字金额转换为大写人民币

整数部分%10余n   ,便在digit里循环n次,得到对应数字n的大写汉字,如果轮询到零就replace将零剪切,最后将得到的小数部位和整数部位进行拼接;

4、最后一步其实是第一步中提到的负数问题,可归为一步;

js将数字金额转换为大写人民币

完整代码贴一下:

js将数字金额转换为大写人民币

好了!

继续阅读