数字转换为中文大写,我相信已经有很多的实现了,特别是一些银行金融系统中,经常会用到大写的人民币金额。

但是,反过来,怎么将这个中文描述的人民币金额转换为数字呢?

这里分享一个我很久之前写的一个转换函数吧!直接上代码哦

实现代码

  var map = {"零":0,"一":1,"壹":1,"二":2,"贰":2,"两":2,"三":3,"叁":3,"四":4,"肆":4,"五":5,"伍":5,"六":6,"陆":6,"七":7,"柒":7,"八":8,"捌":8,"九":9,"玖":9,"十":10,"拾":10,"百":100,"佰":100,"千":1000,"仟":1000,"万":10000,"十万":100000,"百万":1000000,"千万":10000000,"亿":100000000};// 解析失败返回-1,成功返回转换后的数字,不支持负数function chinese_number_to_digit(chinese_number){var len = chinese_number.length;if(len == 0) return -1;if(len == 1) return (map[chinese_number]<=10) ? map[chinese_number] : -1;// 返回的总和var summary = 0;// 十开头省略一的情况 例 `十二` 和 `一十二`if(map[chinese_number[0]] == 10) {chinese_number = "一"+chinese_number;len++;}// 单位结尾,省略末尾单位的情况  例 一万二  三千一 二百五if(len >= 3 && map[chinese_number[len-1]] < 10){var last_second_num = map[chinese_number[len-2]];if(last_second_num == 100 || last_second_num == 1000 || last_second_num == 10000 || last_second_num == 100000000){for(var key in map){if(map[key] == last_second_num/10){chinese_number += key;len += key.length;break;}}}}// 不支持 一亿亿xxx  十亿亿xx ...if(chinese_number.match(/亿/g) && chinese_number.match(/亿/g).length>1) return -1;// 处理一亿以上的情况 例 三百二十三亿三千二百万两千零二十二var splited = chinese_number.split("亿");if(splited.length == 2){var rest = splited[1]=="" ? 0 : chinese_number_to_digit(splited[1]);return summary + chinese_number_to_digit(splited[0])*100000000 + rest;}// 下面处理小于一亿的情况 例 三千二百万两千零二十二splited = chinese_number.split("万");if(splited.length == 2){var rest = splited[1]=="" ? 0 : chinese_number_to_digit(splited[1]);return summary + chinese_number_to_digit(splited[0])*10000 + rest;}// 下面处理小于一万的情况 例 两千零二十二var i = 0;while (i<len){var first_char_num = map[chinese_number[i]];var second_char_num = map[chinese_number[i+1]];if(second_char_num > 9)summary+= first_char_num*second_char_num;i++;if(i==len)summary+=first_char_num<=9?first_char_num:0;}return summary;}

实现思路并不难,基本上都是一些字符串处理,再加上分段累计求和就可以做出来了

上面代码还不支持某些繁体字,需要繁体自己在map里面加就行了!

你可以复制上面代码,打开F12粘贴进去,运行试试看,下面上一个我这里的运行结果:

觉得有用,还请点赞收藏!
励志前端,CSDN唯一账号!关注我,带你了解更多前端知识!

JS中将中文数字转化为阿拉伯数字相关推荐

  1. python将中文数字转化成阿拉伯数字

    python将中文数字转化成阿拉伯数字 正则表达式提取文本中的数字 中文转化成阿拉伯数字 完整代码 正则表达式提取文本中的数字 这里演示一下文本中提取中文年份 import re m0 = " ...

  2. 把中文数字转化成阿拉伯数字--千亿内

    写累了,直接看代码吧 里面还是有很多重复性的代码,有待提高 # 获取列表下标 def xbiao(ge):x = 0while x < 10:if ge == ltwo[x]:ff3 = xbr ...

  3. php中文数字转化成阿拉伯数字

    function cn2num($string) {if(is_numeric($string)){return $string;}// '仟' => '千','佰' => '百','拾' ...

  4. 中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八-->12345678)

    昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2-十换成10.可是那么问题来了- 一十二呢-不能是11 ...

  5. 中文数字日期转为阿拉伯数字日期

    中文数字日期转换为阿拉伯数字日期的方法如下: 将中文数字替换为阿拉伯数字.具体地,把"零"."一"."二"."三".&q ...

  6. 使用java把中文小写数字转化为阿拉伯数字

    package com.test;/*** @author Administrator* @date 2018/6/8*/ public class SwitchNumber {public stat ...

  7. python输入数字替换为中文_Python把中文数字替换成阿拉伯数字

    #coding=utf-8 #By Gin #2020/7/17 #Rev 02 import os import re ch_dict = {u'零':0, u'一':1, u'二':2, u'三' ...

  8. js实现中文数字转阿拉伯数字

    var map = {"零": 0,"一": 1,"壹": 1,"二": 2,"贰": 2,&quo ...

  9. excel小写转大写公式_EXCEL中文小写数字怎么转化成阿拉伯数字呢?

    把阿拉伯数字转化成中文小写数字,我们都知道,通过单元格格式设置就可以实现,如下图: 但是上面的转化有时并不能满足我们的需求,比如,我们需要把13转化成十三,而不是一十三,这时我们该怎么办呢? 下面我们 ...

最新文章

  1. 怎么看b树是几阶_看我在B站上怎么学习的
  2. Thymeleaf 学习笔记 (5)
  3. windows server r2 之如何设置共享文件夹访问不需要输入用户名和密码
  4. 安装scala之后,命令行中输入scala报错nullpointException
  5. 【密码学】一万字带您走进密码学的世界(上)
  6. python中使用pickle进行序列化
  7. 未能加载文件或程序集“Poderosa.Core
  8. MinGW安装和使用基础教程
  9. linux 重启oracle实例_Oracle实战(二)-Oracle概述
  10. 字符串拼接,什么时候会走StringBuilder?
  11. Mac系统搭建java开发环境
  12. 恶意软件利用Windows故障诊断平台传播
  13. c语言编程软件平板_ipad可以编程c语言吗
  14. CNC编程工程师如何炼成?要哪些必备技能?
  15. wps页眉怎么设置不同页码_Word:单双页页眉页码不同怎么设置?不同章节重新编码怎么设置?...
  16. 自动回复html模板邮件,outlook休假自动回复
  17. 通过精读一本英文技术书籍搞定英语
  18. 服务器打开显示选择键盘布局,更改服务器上的TTY键盘布局?
  19. 程序员应该学习的一些数学知识
  20. 299. 猜数字游戏【我亦无他唯手熟尔】

热门文章

  1. Rosalind Java|Consensus and Profile
  2. 手风琴jQuery案例
  3. 基于SpringBoot的高并发秒杀(限时秒杀)
  4. there is no statement named xxx in this SqlMap
  5. 牛客网数字化招聘解决方案,支持10万人同时在线笔试
  6. เล่นคาสิโนออนไลน์ให้ได้ผลกำไร
  7. 计算机网络基础试卷分析,《计算机应用基础》期末试卷分析.doc
  8. ESP8266-01S使用教程
  9. 免费制作字体软件 - FontForge
  10. 根据网址搜索类似的网站