数字金额转化为汉字大写金额
代码:
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));
//结果:伍万零仟零佰零拾零元
数字金额转化为汉字大写金额相关推荐
- Java数字金额转化成汉字大写金额
import java.math.BigDecimal;/*** Utils - 金额转为大写汉字*/ public final class NumberToCNUtils {/**汉语中数字大写*/ ...
- java实现数字金额转换成汉字大写金额
我们经常在做项目的财务报表,需要打印发票等情况时需要用到小写的财务金额要转换成汉字的大写金额,下面就是实现该功能的代码 import java.lang.Math; /** *通用型金钱转换类 * * ...
- 数字金额转化大写金额
/*** 数字金额转化大写金额* @param val string/number(字符串可包含'¥'和多余的0)* @returns {*}* 原生方法*///代码如下所示:function con ...
- win7计算机名改成大写,图文解读win7系统excel数字小写金额转换成汉字大写金额的措施...
有很多网友在使用电脑的过程总难免会遇到win7系统excel数字小写金额转换成汉字大写金额的情况.针对win7系统excel数字小写金额转换成汉字大写金额的问题,我给大家整理总结了详细的解决步骤.近日 ...
- 【Java】将阿拉伯数字金额转化为中文大写金额表示
今天老师即兴布置了一个作业,将阿拉伯数字金额转化为中文大写金额表示,假设数字上限为小于10亿,可以支持2位小数,如: 100000001--壹亿零壹元整 100100011--壹亿零壹拾万零壹拾壹元整 ...
- Java之——数字金额转化为英文金额
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/52599090 今天,给大家带来一篇基于Java将数字金额转化为英文金额的示例代码, ...
- 将数字金额转化为大写金额,且数字金额最多只保留两位小数
采用element ui 中的input框实现,填写小写金额,自动实现大写金额 截图: 代码: 数字转大写金额实现: export function dealBigMoney(n) {var frac ...
- js 文字金额转换成汉字大写金额
最近在写项目时 经常出现输入数字金额 转换为汉字大写金额的需求 今天用js 简单封装一个方法. 上代码: <!DOCTYPE html> <html lang="en&qu ...
- iOS数字金额转化为大写汉字(阿拉巴数字转化为汉字)
本博文想要解决的问题,是将一串阿拉伯数字(包含小数点)转化为对应的大写汉字. 实现思路如下: 1.将这串阿拉伯数字格式化,只取小数点后两位: 2.将字符串分割为整数部分的子串和小数部分的子串: 3.遍 ...
最新文章
- python中用break结束死循环
- iOS如何在iTunes网站查看并下载APP的dsym文件
- python四十二:类和对象
- spring框架文档学习(包会)
- 华为手机拍照后图库里无照片_EMUI的相册不这么用,还用什么智能手机?
- 团队作业-Beta冲刺(周三)
- 《设计模式之禅》--摘要
- 2020腾讯全球数字生态大会:产业互联网战略升级,数字优先引领未来经济发展
- elasticsearch如何使用?
- HCIE Security IPv6基础与安全技术 备考笔记(幕布)
- 禁用“微软 Windows 10 易升”
- Redhat6.8安装docker环境
- UReport2导出word报错
- 自媒体原创度检测工具有哪些?这几个可以免费用
- VSCode安装使用教程(最新详细版)
- oracle 密码解锁
- 在CSDN中如何上传附件(资源)?
- JSP中文乱码解决方案了解和TOMCAT中文乱码解决
- 数据结构 ADT例子
- 微信忘记支付密码,实名认证的身份证又没有办理银行卡怎么破?(未解决)