javascript 将数字(金额)转成大写
将计算好的金额转换成大写,这些功能非常多,下面我改进了一下代码(原文在这里:http://www.cnblogs.com/zsanhong/p/3509464.html)。
/**
* _SetNumToUppercase 将数字转换大写
* @param {number} num=1 - 参数num为必选数值类型
* @param {Boolean} flag - 参数flag是一个可选的Boolean类型参数 有一种发票需要直接输出,如:100,转换大写就是壹佰零拾零圆零角零分,这是传入true即可
* */
function _SetNumToUppercase (num,flag) {
num = num + '';
if(num === 'undefined' || isNaN(Number(num)) || !/^(0|[1-9]\d*)(\.\d+)?$/.test(num))
return '数据:{' + num + '} 格式有误';
var unit = '万仟佰拾亿仟佰拾万仟佰拾圆角分',
uppercase = '零壹贰叁肆伍陆柒捌玖',
point = num.indexOf('.'),str = '';
if(num.split('.')[0].length > 13 || (num.split('.')[1] && num.split('.')[1].length > 2))
return'数据:{' + num + '}整数位数的个数最多13个,小数位数的个数最多2个';
num = num+ '00';
if(point >= 0) {
num = num.substring(0, point) + num.substr(point+1, 2);
}
unit = unit.substr(unit.length - num.length);
for (var i=0; i < num.length; i++) {
str += uppercase.charAt(num.charAt(i)) + unit.charAt(i);
}
// 默认转换
if(!flag)
str = str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|圆)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^圆零?|零分/g, "").replace(/圆$/g, "圆整");
return str;
}
测试如下图:

javascript 将数字(金额)转成大写的更多相关文章
- C#小写数字金额转换成大写人民币金额的算法
C#小写数字金额转换成大写人民币金额的算法 第一种方法: using System.Text.RegularExpressions;//首先引入命名空间 private string DaXie(st ...
- JavaScript将小写金额转换成大写
//num为小写金额,单位元 changeMoney(num) { if(isNaN(num))return ""; var strPrefix=""; if( ...
- irport报表,把数字金额转换成大写人民币金额
1.编写oracle函数 CREATE OR REPLACE Function MoneyToChinese(Money In Number) Return Varchar2 Is strYuan ) ...
- JS把数字金额转换成中文大写数字的函数
//把数字金额转换成中文大写数字的函数 function num2rmb ($num){ $c1="零壹贰叁肆伍陆柒捌玖"; $c2="分角元拾佰仟万拾佰仟亿" ...
- JavaScript将输入的数字金额转换成对应的中文大写金额
// 将输入的数字金额转换成对应的中文大写金额 // idNumber输入的数字金额,idCHN输出的中文大写金额 function TransformNumberIntoCHN(idNumber, ...
- PHP算法--将数字金额转换成大写金额
最近在看一些PHP算法题,遇到一个将数字金额转换成大写金额的小算法题,这里贴出自己的一个例子. 注:这个小算法适用于10万以内的金额. <?php //$num = 12345.67; func ...
- PHP 数字金额转换成中文大写金额的函数 数字转中文
/** *数字金额转换成中文大写金额的函数 *String Int $num 要转换的小写数字或小写字符串 *return 大写字母 *小数位为两位 **/ function num_to_rmb($ ...
- SQL函数:小写金额转换成大写
/********************************************************作者:版本:1.0创建时间:20020227修改时间:功能:小写金额转换成大写参数:n ...
- 转一个财务方面常用到的数字金额转成汉字大写金额 php类
系统里有牵扯到财务.合同等方面的处理时,常常需要把数字金额转成汉字大写金额(貌似这样正规),转一个转换的php class吧!<?php// 诸海加(ALPHA .z)// 2000-7-19 ...
- java数字金额转中文大写
package com.example.convert; import java.text.DecimalFormat; import java.util.Scanner; /** * 金额转换 * ...
随机推荐
- 蓝桥网试题 java 基础练习 01字串
---------------------------------------------------------------------- 还括以 0.0 --------------------- ...
- 基于basys2用verilog设计多功能数字钟(重写)
话不多说先上图 前言 自从学习FPGA以来,唯一做过的完整系统就是基于basys2得多功能数字表.记得当时做的时候也没少头疼,最后用时间磨出来了一个不是很完整的小系统,当时还是产生了满 ...
- php类与构造函数解析
关于类大家都有一定的认识这里只介绍在php中类值得注意的地方----类的创建----php使用关键字class创建一个类,并且使用一对大括号如: class name{ public $n=" ...
- Class path contains multiple SLF4J bindings
[logback不同版本jar包] SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:fi ...
- [python]什么是生成器
看理论硬是看的抓狂,然后去百度贴吧看到了一句话,什么叫python生成器,简直秒懂
- bootstrap-导航总结
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- winform连接oracle时Oracle.DataAccess.dll版本问题
1.通用TestOracle.zip部署到iis上,或直接运行程序测试当前全局程序集 protected void Button1_Click(object sender, EventArgs e) ...
- 【转】Docker —— 从入门到实践
http://yeasy.gitbooks.io/docker_practice/content/index.html Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud ...
- JavaScript中的函数使用
append() 是代表改变格子的内容 prev()是代表前一个格子 next()是代表下一个相邻的格子 hide()是代表隐藏 show()是代表显示 childen()是代表子节点 eq()是代表 ...
- Redis从入门到精通
什么是Redis? Redis是非关系型数据库,是一个高性能的key-value数据库,它是开源的,更是免费的. Redis能做什么? 存储数据 Redis的优点有哪些? 1.它支持存储丰富的数据类型 ...