1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 数字金额转化为汉字大写金额

数字金额转化为汉字大写金额

时间:2018-12-02 00:19:29

相关推荐

数字金额转化为汉字大写金额

代码:

function numberToChinese(number) {/*本方法:数字金额转化为汉字大写金额;*支持最大整数兆(万亿);*支持小数后四位(毫);*/var Chinese = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];var ChineseInteger = ['', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', '兆'];var ChineseDecimal = ['角', '分', '厘', '毫'];var resultInteger = '',resultDecimal = '',resultNegative = '';number = isNaN(number) ? 0 : number; //校验数字格式var numStr = number.toString(); //转化为字符串//定义数组 获取整数部分========================var arrInteger = numStr.split('.')[0];if (!arrInteger || arrInteger == '0') {resultInteger += '零元';} else {if (arrInteger.length > 13) {arrInteger = arrInteger.substr( - 13);}//整数部分 数字转化对应汉字var numInteger = arrInteger.split('');var IntegerData = new Array();for (var i in numInteger) {for (var i2 in Chinese) {if (numInteger[i] == i2) {IntegerData.push(Chinese[i2]);}if (numInteger[i] == '-') {resultNegative = '负';}}}IntegerData.reverse();//整数部分 数组拼接for (var i in IntegerData) {for (var i2 in ChineseInteger) {if (i == i2) {IntegerData[i] = IntegerData[i] + ChineseInteger[i];}}}IntegerData.reverse();for (var i in IntegerData) {resultInteger += IntegerData[i];}resultInteger += '元';}//定义数组 获取小数部分=========================var arrDecimal = numStr.split('.')[1];if (arrDecimal) {if (arrDecimal.length > 4) {arrDecimal = arrDecimal.substr(0, 4);}//小数部分 数字转化对应汉字var numDecimal = arrDecimal.split('');var DecimalData = new Array();for (var i in numDecimal) {for (var i2 in Chinese) {if (numDecimal[i] == i2) {DecimalData.push(Chinese[i2]);}}}//小数部分 数组拼接for (var i in DecimalData) {for (var i2 in ChineseDecimal) {if (i == i2) {DecimalData[i] = DecimalData[i] + ChineseDecimal[i];}}}for (var i in DecimalData) {resultDecimal += DecimalData[i];}}//整数部分+小数部分 拼接返回return resultNegative + resultInteger + resultDecimal;}

示例:

var data = 12345;console.log(numberToChinese(data));//结果:壹万贰仟叁佰肆拾伍元var data = 12345.12345;console.log(numberToChinese(data));//结果:壹万贰仟叁佰肆拾伍元壹角贰分叁厘肆毫var data = 0;console.log(numberToChinese(data));//结果:零元var data = 0.234;console.log(numberToChinese(data));//结果:零元贰角叁分肆厘var data = -345.89;console.log(numberToChinese(data));//结果:负叁佰肆拾伍元捌角玖分var data = -10004.89;console.log(numberToChinese(data));//结果:负壹万零仟零佰零拾肆元捌角玖分var data = 50000;console.log(numberToChinese(data));//结果:伍万零仟零佰零拾零元var data = 50000.0004;console.log(numberToChinese(data));//结果:伍万零仟零佰零拾零元

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。