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

目前网上大多都是数字转换为人民币大写金额,现编写人民币大写转换为数字的方法,JS代码
摘要由CSDN通过智能技术生成

人民币大写金额分为数字和单位两种汉字类型,“零壹贰叁肆伍陆柒捌玖”分别代表数字“0123456789”,“分角拾佰仟万亿”分别代表“0.01 0.1 10 100 1000 100000000”,除此之外还有一些汉字具有补充含义,比如“元”,“整”,“正”,但是这些汉字并不具有实际的计算能力,在计算前可以直接忽略。中文大写金额数字前应标明“人民币”字样,大写金额数字应紧接“人民币”字样填写,“人民币”字样声明了金额类型,在金额转换之前应该去除该字样。

人民币大写金额具有一定规律,我们首先分析人民币的组成规则。人民币大写金额从左往右与数字金额相对应,一般情况下,数字汉字和单位汉字构成一位真正的数字,比如“壹拾”代表数字10;如果数字的单位属于“个”,那么单位“个”省略不写,虽然“个”具有单位的性质,却因人们长期的习惯而被省略了。数字“零”在人民币中不仅仅代表数字0,它还具有省略的功能,比如“壹仟零壹”中的“零”代表了0*100和0*10。数字“亿”比较特殊,因为在人民币大写中它属于最大的单位,一般情况下,人民币大写允许两位单位汉字连续,比如“壹拾万”,值得注意的是,前一个单位必须小于后一个单位,数字“壹拾万”中的“拾”必须小于“万”,而“壹万万”的表示是错误的,应该写成“壹亿”。注:“壹亿亿”是允许的,因为单位“亿”已经达到最大,所以“亿亿”只能这样表示了,然而生活中基本碰不到“亿亿”的数量级。

人民币大写最大的特点就是数量级跃升。同样的一段数字和单位,遇到不同的“基础单位”,他们代表的意义是不同的。比如数字“1230123”对应人民币“壹佰贰拾叁万零壹佰贰拾叁”,这里“壹佰贰拾叁”的“基础单位”存在“万”和“个”,因而其分别代表了壹佰贰拾叁万和壹佰贰拾叁。所谓“基础单位”是指“个”,“万”,“亿”等10000的倍数,根据人民的习惯,如果金额达到了万的数量级就用XXX万表示,如果金额达到了亿的数量级就用XXX亿来表示,这样的表示方法能够直观的看出金额的最大量级(基础单位),而一般情况下默认省略的基础单位是“个”。如果能把握基础单位在数字计算中的作用,我们就能解析人民币大写金额,并实现转化过程。

由于人民币存在很多非数字非单位意义的汉字,同时又省略了很多有计算意义的汉字,所以我们在真正转换前需要一些特殊处理(preWork)。这些处理不仅能够使人民币金额变得简洁完整,而且为了方便数字的顺序解析,我们还需要将人民币字符翻转,从左到右单位变为从小到大(同一个基础单位)。对于“个玖拾捌佰柒仟陆万零伍拾肆佰叁仟贰亿壹”的预处理:

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值