js 金额转中文大写格式
js 数字金额转中文大写格式
moneyToChinese调用示例:
moneyToChinese('199.99');//console:壹佰玖拾玖元玖角玖分
function moneyToChinese(money) {let cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //汉字的数字let cnIntRadice = new Array('', '拾', '佰', '仟'); //基本单位let cnIntUnits = new Array('', '万', '亿', '兆'); //对应整数部分扩展单位let cnDecUnits = new Array('角', '分', '毫', '厘'); //对应小数部分单位let cnInteger = '整'; //整数金额时后面跟的字符let cnIntLast = '元'; //整型完以后的单位let maxNum = 999999999999999.9999; //最大处理的数字let IntegerNum; //金额整数部分let DecimalNum; //金额小数部分let ChineseStr = ''; //输出的中文金额字符串let parts; //分离金额后用的数组,预定义 let Symbol = ''; //正负值标记if(money == '') {ChineseStr = cnNums[0] + cnIntLast + cnInteger;return ChineseStr;}money = parseFloat(money);if(money >= maxNum) {alert('超出最大处理数字');return '';}if(money == 0) {ChineseStr = cnNums[0] + cnIntLast + cnInteger;return ChineseStr;}if(money < 0) {money = -money;Symbol = '负 ';}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) { //获取整型部分转换let zeroCount = 0;let IntLen = IntegerNum.length;for(let i = 0; i < IntLen; i++) {let n = IntegerNum.substr(i, 1);let p = IntLen - i - 1;let q = p / 4;let 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 != '') { //小数部分let decLen = DecimalNum.length;for(let i = 0; i < decLen; i++) {let 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;}ChineseStr = Symbol + ChineseStr;return ChineseStr;
}
js 金额转中文大写格式相关推荐
- 金额转换为中文大写格式
package org.sz.basic; import java.text.DecimalFormat; public class ConvertMoney { private final stat ...
- C# 金额转中文大写
今天看到一个库是把金额转中文大写,看起来很容易,所以我就自己写了 创建的项目是创建一个 dot net core 的项目,实际上这个项目可以创建为 Stand 的. 首先创建类,这个类的构造传入一个 ...
- 将金额转换为中文大写
将金额转换为中文大写 思路 判断符号,0则直接返回 数字去掉点 00结尾的要加'整' 循环,从后面每次取一个数位上的值直到最前面, 若是非零则加上对应的数值和单位 若是零,判断上一个是否为零,是,则不 ...
- SDNUOJ 1213.金额的中文大写
今天做了一个题,感觉网上的程序有些繁琐或者不够简明,所以打算把自己的发上来,供大家借鉴. 前几天学校的OJ坏了,刚刚修好我便看到了这个题. 1213.金额的中文大写 Time Limit: 1000 ...
- 正则也很牛,把阿拉伯数字的金额转换为中文大写数字
using System; using System.Text.RegularExpressions; class Program { // 把阿拉伯数字的金额转换为中文大写数字 static ...
- 金额转中文大写源代码(原创)
1,问题描述:将数字金额转成中文大写 2,源代码如下 public class ZHapi {private static String[] tmp = {"零", "壹 ...
- 小写金额变中文大写和英文方法总结
#region 变量申明 private static readonly String cnNumber = "零壹贰叁肆伍陆柒捌玖"; priva ...
- (转)金额转中文大写
public class RMB {//返回转换好的大写形式public static String numberToRMB(String money) {return cleanZero(split ...
- 小写金额转为中文大写
目标 将小写的金额转化为中文大写,如99.99转为"玖拾玖圆玖角玖分" 思路 阿拉伯数字有对应的中文大写,需要将其转为中文大写. 金额分为小数部分和整数部分分别处理,整数部分和小数 ...
- java 中文大写金额_java编写的金额转中文大写
1 package com.coxon.finance.tool;2 3 public classChinaNumber4 {5 6 private static String[] CH = { &q ...
最新文章
- html标题怎么分开,html – 如何使用angularjs将标签标题与其主体分开?
- 水晶报表 jar包版本过低_工具类学习-UReport报表设计器整合
- 【开源项目10】安卓图表引擎AChartEngine
- 【QT 数据库专辑】【01】搭建本地MYSQL数据库 - 工具安装
- Python向下取整整除运算符用法一例
- Mycat-server-1.6.5 常见分片方式
- ros中订阅/map话题,获取地图尺寸,获取机器人原点origin,获取地图分辨率resolution (c++,python,waitForMessage,wait_for_message)
- 许三多修路带给我们成功的启示
- Python+Selenium开发工具安装及下载
- Onvif协议之服务端开发基本流程
- 一寸二寸证件大头半身照制作合成微信流量主小程序
- Matlab中的fspecial函数
- php implode key,PHP implode()用法及代碼示例
- iWork8 U80GT 平板安装Ubuntu Desktop 20.04 64位教程(理论适用所有Linux64位发行版)
- 软件测评师知识点(2020.09.11)
- 新网站收录情况的seo分析
- 高校计算机课程建设研讨会通知,大学计算机教改与课程建设研讨会召开
- 1.oracle的dump理解一 BH buffer header
- MTK,4G全网通模块设计资料
- 【视频教程】帝国CMS制作网站系列教程07