0到9的数字替换成零 到 玖 的 大写汉字的函数
function changeNumMoneyToChinese(money) {
var cnNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //汉字的数字
var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位
var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位
var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位
var cnInteger = "整"; //整数金额时后面跟的字符
var cnIntLast = "元"; //整型完以后的单位
var maxNum = 999999999999999.9999; //最大处理的数字
var IntegerNum; //金额整数部分
var DecimalNum; //金额小数部分
var ChineseStr = ""; //输出的中文金额字符串
var parts; //分离金额后用的数组,预定义
if (money == "") {
return "";
}
money = parseFloat(money);
if (money >= maxNum) {
alert('超出最大处理数字');
return "";
}
if (money == 0) {
ChineseStr = cnNums[0] + cnIntLast + cnInteger;
return ChineseStr;
}
money = money.toString(); //转换为字符串
if (money.indexOf(".") == -1) {
IntegerNum = money;
DecimalNum = '';
} else {
parts = money.split(".");
IntegerNum = parts[0];
DecimalNum = parts[1].substr(0, 4);
}
if (parseInt(IntegerNum, 10) > 0) { //获取整型部分转换
var zeroCount = 0;
var IntLen = IntegerNum.length;
for (var i = 0; i < IntLen; i++) {
var n = IntegerNum.substr(i, 1);
var p = IntLen - i - 1;
var q = p / 4;
var m = p % 4;
if (n == "0") {
zeroCount++;
} else {
if (zeroCount > 0) {
ChineseStr += cnNums[0];
}
zeroCount = 0; //归零
ChineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
}
if (m == 0 && zeroCount < 4) {
ChineseStr += cnIntUnits[q];
}
}
ChineseStr += cnIntLast;
//整型部分处理完毕
}
if (DecimalNum != '') { //小数部分
var decLen = DecimalNum.length;
for (var i = 0; i < decLen; i++) {
var n = DecimalNum.substr(i, 1);
if (n != '0') {
ChineseStr += cnNums[Number(n)] + cnDecUnits[i];
}
}
}
if (ChineseStr == '') {
ChineseStr += cnNums[0] + cnIntLast + cnInteger;
} else if (DecimalNum == '') {
ChineseStr += cnInteger;
}
return ChineseStr;
}
转载于:https://www.cnblogs.com/xiaoer-heidou/p/4961669.html
0到9的数字替换成零 到 玖 的 大写汉字的函数相关推荐
- 数字金额转换大写 先写个完整的然后将如零拾替换成零
/*** 数字金额转换大写 先写个完整的然后将如零拾替换成零* @param n 数字* @return 中文大写数字*/public static String digitUppercase(dou ...
- EasyUI-DataGrid下数据库数字替换成文本信息显示以及不同状态显示不同颜色
EasyUI-DataGrid下数据库数字替换成文本信息显示 在使用easyui作为开发框架的时候,经常遇到一些常见的问题,比如某项数据名,在数据库里存的是0和1等,然后显示在页面上的时候,需要显示成 ...
- 把0到9的数字转换成电话按钮上的字母
问题 给定一个包含[0,9]中数字的整数数组,任务是打印所有可能的字母 数字可以表示的组合,数字到字母的映射(就像在电话按钮上)正在被跟踪,注意0和1不映射到任何字母.所有映射如下图所示: 写一个程序 ...
- 4、编写程序,根据用户输入的数字转换成相应的中文的大写数字。例如,1.23转换为“壹点贰叁”。
–Python 4.编写程序,根据用户输入的数字转换成相应的中文的大写数字.例如,1.23转换为"壹点贰叁". 问题遇到的现象和发生背景 输入含有0就不会输出 问题相关代码 imp ...
- 怎么把数字替换成空格_剑指offer04:替换空格
❝ 你自己的代码如果超过6个月不看,再看的时候也一样像是别人写的.-- 小浩 ❞ 替换空格 题目描述 请实现一个函数,将一个字符串中的每个空格替换成 %20.例如,当字符串为 We Are Happy ...
- 怎么把数字替换成空格_Excel中带单位后缀的数字如何计算?
在日常统计的Excel工作表中一般带了单位的数字是没办法直接进行计算的,需要进行一定的操作才可以转换成可以计算的模式.今天小编来给大家讲解一下具体的操作方法,快来和我一起学习一下吧! 工具/原料 电脑 ...
- python数字替换成中文replace_Python3字符串替换replace(),translate(),re.sub()
Python3的字符串替换,这里总结了三个函数,replace()和translate()和re.sub() replace() python 中的 replace() 方法把字符串中的 old(旧字 ...
- 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'三' ...
- 用python批量把小说编号由大写数字替换成阿拉伯数字
import re pattern = re.compile(u'第(.*)章')mulu=u'''第一千五百四十六章 道韵高低 第一千五百四十五章 好兄弟 第一千五百四十四章 臭不要脸 第一千五百四 ...
最新文章
- 《从零开始学Swift》学习笔记(Day 47)——final关键字
- 构建稳固的、可升缩的CSS框架的八大原则
- Dell R240 1U机架式服务器 资料
- mtk Android 编译命令自定义--添加版本号
- 多系统权限设计(一)
- SringBoot项目使用maven打包,使用docker部署,并且使用thymeleaf作为模板引擎遇到的问题
- linux添加x权限,Linux 7 的 rc.local 文件需要 添加 +x 权限才会自动执行
- 洛达官方软件检测_关于购买HQB洛达耳机的你需要知道的!!!
- ArcGIS制图表达Representation实战篇3-控制点
- win7系统修复工具_系统哥教你如何修复win7启动引导的方法
- 服装制版师用软件代替手工_楚天都市报_多媒体报
- 计算机科学顶级国际会议,顶级会议推荐:计算机科学理论会议5条
- wifi(华硕天选2)找不到怎么办
- Vmware Ubuntu虚拟机提示:无法连接虚拟设备 sata0:1,因为主机上没有相对应的设备,解决办法
- 扬声器程序设计(微机原理实验四)
- # JAVA实现评论功能设计开发
- .Net深入学习:序列化
- c语言中while中的判断语句为感叹号x时是什么意思?
- js根据日期生成批次号
- 获取文件哈希值_图解:什么是哈希?