JavaScript 整数转大写中文
2024-09-03 11:36:57
function toChinese(money){
var chNum=['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'];
var maxnum=999999999999.99;
var num=;
var chstr = '', //返回的大写字符串
moneyint=parseInt(money)+'',//整数位
moneydec= money.toString().split('.')[], //取小数位
len = moneyint.length; if(+money==) {return '零元整';}
else if(money <= maxnum)
{
//处理整数
if(moneyint >) chstr +='元';//整数大于0,先插入元 for(var i = ;i < len;i++){
if(i == && +moneyint.slice(-,-)>){//万-亿之间有数字,则插入万;否则不插入
chstr = '万 '+chstr;
}
else if(i == ){//插入亿
chstr = '亿 '+chstr;
} if(+moneyint[len-i-]>){
num = i%; //每四位-个十百千
switch(num){
case :chstr=chNum[moneyint[len-i-]]+chstr;break; //个
case :chstr=chNum[moneyint[len-i-]]+'拾'+chstr;break;//拾
case :chstr=chNum[moneyint[len-i-]]+'佰'+chstr;break;//佰
case :chstr=chNum[moneyint[len-i-]]+'仟'+chstr;break;//仟
}
}else if(i%> && moneyint[len-i]>) //非个位等于0,前一位不等于0则插入零
{
chstr = '零' + chstr;
} } //处理2位小数
if(+moneydec){//undefined 或00为false
moneydec=moneydec.slice(,);
var jiao = moneydec[];
var fen = moneydec[];
if(+jiao || +fen) {
chstr += (+jiao? chNum[jiao]+'角' : '零');
chstr += (+fen ? chNum[fen]+'分' : '' );
}
}
else{
chstr += '整';
} }
else
{
chstr = '超出最大处理数字 或 参数为空';
}
return chstr;
} var x=;
console.log(toChinese(x));
输出
'壹仟壹佰壹拾贰元整'
参考:
https://www.cnblogs.com/dinghanhua/p/9700767.html
最新文章
- 修改 jquery.validate.js 支持非form标签
- LCT裸题泛做
- (Array)27. Remove Element
- BZOJ 3181 BROJ
- C# foreach 原理以及模拟的实现
- hdoj 1166 敌兵布阵【线段树求区间最大值+单点更新】
- 【IUML】支持向量机SVM
- [WebGL入门]二十四,补色着色
- Cocos2d-x--Box2D使用GLES-Render.h渲染查看刚体
- C语言第二次博客作业---分支结构 陈张鑫
- Day01 -Class类别 精选面试题
- 谈谈npm依赖管理
- 试验一下Golang 网络爬虫框架gocolly/colly
- ES系列目录
- 快捷键(SourceInsight)
- 51nod1344
- Excel数据导入PG库,字符串正则表达式
- CSS nth-child、first-child、last-child、nth-of-type、first-of-type和last-of-type选择器使用
- python16_day38【flask】
- VS Code使用