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;
}
0到9的数字替换成零 到 玖 的 大写汉字的函数
时间: 2024-08-25 02:50:42
0到9的数字替换成零 到 玖 的 大写汉字的函数的相关文章
数字人民币(RMB)转化为大写汉字表达
using System.Text; /// <summary>/// ToChineseValue 的摘要说明/// 人民币(RMB)转化为大写字母 /// </summary>public class ToChineseValue{ private enum chineseChar { 零, 壹, 贰, 叁, 肆, 伍, 陆, 柒, 捌, 玖 }; private enum charValue { 个 = 1, 十, 百, 千 }; private enum
将金额数字转换为大写汉字的js函数
1 //将金额数字转换为大写汉字的函数 2 function convertCurrency(money) { 3 //汉字的数字 4 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); 5 //基本单位 6 var cnIntRadice = new Array('', '拾', '佰', '仟'); 7 //对应整数部分扩展单位 8 var cnIntUnits = new Array('', '
数据库中将null 替换成 0 或者其他文本
Oracle:可以用nvl(p1,p2) 该函数,将p1替换成p2, 但是请注意:p1,p2必须是同类型的,可以是数值number ,char ,date 比如不能nvl('jack',5)这样用,一个是char一个是number了 简单明了:nvl(null,0) 就可以解决了. 这里要说明一下小tip:在oracle中 当组函数[又名聚合函数]要处理数据全是空的时候,除了count()函数返回的是0,其他组函数全部返回空值. 所以当我们处理聚合函数的时候,count()函数不用特殊考虑. S
方便的将数字转成字符串类型并在前面补0
有的时候需要将数字转化成字符串来保存或使用.一般可以直接使用或者用str()转一个数据类型就好了. 但是有的时候对数字位数有要求,不足的位数前面用0补齐.比如1需要变成"01"或"001",处理类似工号的时候可能会有这种需求. 当然实现起来并不难,不过如何可以更加简洁方便的实现,而不是写一大堆的判断语句.找到一个一句判断语句也不需要的实现方法. num = input("请输入一个数字(范围0-999):") print(("00%s&
NFA转换成DFA——汉字形式数字转换成整数数字
偶然间遇到了一个需求:汉字形式数字转换成整数数字.如果不处理意外情况,可以写的很简单(比如不会出现三三等),详情可以看这里.但是,想着可以写成一个FA的形式,于是乎,发现并不是想象中的那么简单..因为写成FA就发现,要处理非法形式的问题,还是有点麻烦的. 好不容易写成了FA,发现是个NFA,于是乎写了个NFA转换成DFA的代码,也支持了一套简单的FA的定义规则.代码如下: package ie; import java.util.ArrayList; import java.util.HashM
在C#中将数字转换成中文
上篇我们讲了在MSSQL中将数字转换成中文,这篇我们讲讲在C#中将数字转换成中文 下篇将讲一下如何将金额转换成中文金额,废话不多说,具体代码如下: /// <summary> /// 数字转中文 /// </summary> /// <param name="number">eg: 22</param> /// <returns></returns> public string NumberToChinese(in
js 将数字转换成人民币大写的方法
//将数字转换成人民币大写的方法 var digitUppercase = function (n) { var fraction = ['角', '分']; var digit = [ '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' ]; var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟'] ]; var IsNum = Number(n); if (!isNaN(IsNum)) { var hea
中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八-->;12345678)
昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2…十换成10.可是那么问题来了…… 一十二呢…不能是1102吧…这不就坑爹了吗?一百万呢………所有我苦苦思索,花费了我差不多半天的时间,终于写出了下面的程序. 1 public static void main(String[] args){ 2 3 Map<Character, String> numberMap = new HashMap<
爪哇国新游记之二十----将数字转换成汉子大写形式
/** * 辅助类 * 用于记载字符和位置 * */ class CharPos{ char c; int pos; public CharPos(char c,int pos){ this.c=c; this.pos=pos; } } /** * 将数字转化成汉字大写形式 * */ public class CnNumMaker { private String integerPart;// 整数部分 private String decimalPart;// 小数部分 private Sta