money2hanzi 将金额转换为汉字大写

本文介绍了一个将阿拉伯数字金额转换成汉字大写金额的JavaScript实现。通过定义数字与汉字的对应关系,以及单位的对应关系,实现了准确的金额转换,并提供了测试案例验证其准确性。

金额转汉子大写金额

 如 1234567890 => 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾元整

项目地址

https://github.com/wanglihui/money2hanzi

状态

GitHub version Build Status

使用

   let money2Hanzi = require("./index");
   let hanzi = money2Hanzi.toHanzi(10011001);
   console.info(hanzi);
   //壹仟零壹万壹仟零壹元整

测试

   mocha

     index.js
       ✓ 10011001 => 壹仟零壹万壹仟零壹元整 should be ok
       ✓ 11011011 => 壹仟壹佰零壹万壹仟零壹拾壹元整 should be ok
       ✓ 10011001.01 => 壹仟零壹万壹仟零壹元壹分整 should be ok

实现思路

   指定位数与单位对应关系
   let units = [
    '分', '角',
    '元', '拾', '佰', '仟',
    '万', '拾', '佰', '仟',
    '亿', '拾', '佰', '仟',
    '兆', '拾', '佰', '仟'
  ]

  指定数字与中文汉字对应关系
   let vals = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'];

  从高位开始处理,vals[高位数字 % 10] + utils[位数长度] = 汉字大写
  while(数字 / 10 ) 循环处理下去直到位数为0

  连续多个0时需要去重

转载于:https://my.oschina.net/wanglihui/blog/774601

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值