Ⅰ js怎么把数字金额转换成中文大写金额
http://link.fobshanghai.com/rmb.htm,参考网址。
<script>
function convertCurrency(currencyDigits) {
// Constants:
var MAXIMUM_NUMBER = 99999999999.99;
// Predefine the radix characters and currency symbols for output:
var CN_ZERO = "零";
var CN_ONE = "壹";
var CN_TWO = "贰";
var CN_THREE = "叁";
var CN_FOUR = "肆";
var CN_FIVE = "伍";
var CN_SIX = "陆";
var CN_SEVEN = "柒";
var CN_EIGHT = "捌";
var CN_NINE = "玖";
var CN_TEN = "拾";
var CN_HUNDRED = "佰";
var CN_THOUSAND = "仟";
var CN_TEN_THOUSAND = "万";
var CN_HUNDRED_MILLION = "亿";
var CN_SYMBOL = "人民币";
var CN_DOLLAR = "元";
var CN_TEN_CENT = "角";
var CN_CENT = "分";
var CN_INTEGER = "整";
// Variables:
var integral; // Represent integral part of digit number.
var decimal; // Represent decimal part of digit number.
var outputCharacters; // The output result.
var parts;
var digits, radices, bigRadices, decimals;
var zeroCount;
var i, p, d;
var quotient, molus;
// Validate input string:
currencyDigits = currencyDigits.toString();
if (currencyDigits == "") {
alert("请输入小写金额!");
return "";
}
if (currencyDigits.match(/[^,.\d]/) != null) {
alert("小写金额含有无效字符!");
return "";
}
if ((currencyDigits).match(/^((\d{1,3}(,\d{3})*(.((\d{3},)*\d{1,3}))?)|(\d+(.\d+)?))$/) == null) {
alert("小写金额的格式不正确!");
return "";
}
// Normalize the format of input digits:
currencyDigits = currencyDigits.replace(/,/g, ""); // Remove comma delimiters.
currencyDigits = currencyDigits.replace(/^0+/, ""); // Trim zeros at the beginning.
// Assert the number is not greater than the maximum number.
if (Number(currencyDigits) > MAXIMUM_NUMBER) {
alert("金额过大,应小于1000亿元!");
return "";
}
// Process the coversion from currency digits to characters:
// Separate integral and decimal parts before processing coversion:
parts = currencyDigits.split(".");
if (parts.length > 1) {
integral = parts[0];
decimal = parts[1];
// Cut down rendant decimal digits that are after the second.
decimal = decimal.substr(0, 2);
}
else {
integral = parts[0];
decimal = "";
}
// Prepare the characters corresponding to the digits:
digits = new Array(CN_ZERO, CN_ONE, CN_TWO, CN_THREE, CN_FOUR, CN_FIVE, CN_SIX, CN_SEVEN, CN_EIGHT, CN_NINE);
radices = new Array("", CN_TEN, CN_HUNDRED, CN_THOUSAND);
bigRadices = new Array("", CN_TEN_THOUSAND, CN_HUNDRED_MILLION);
decimals = new Array(CN_TEN_CENT, CN_CENT);
// Start processing:
outputCharacters = "";
// Process integral part if it is larger than 0:
if (Number(integral) > 0) {
zeroCount = 0;
for (i = 0; i < integral.length; i++) {
p = integral.length - i - 1;
d = integral.substr(i, 1);
quotient = p / 4;
molus = p % 4;
if (d == "0") {
zeroCount++;
}
else {
if (zeroCount > 0)
{
outputCharacters += digits[0];
}
zeroCount = 0;
outputCharacters += digits[Number(d)] + radices[molus];
}
if (molus == 0 && zeroCount < 4) {
outputCharacters += bigRadices[quotient];
zeroCount = 0;
}
}
outputCharacters += CN_DOLLAR;
}
// Process decimal part if there is:
if (decimal != "") {
for (i = 0; i < decimal.length; i++) {
d = decimal.substr(i, 1);
if (d != "0") {
outputCharacters += digits[Number(d)] + decimals[i];
}
}
}
// Confirm and return the final output string:
if (outputCharacters == "") {
outputCharacters = CN_ZERO + CN_DOLLAR;
}
if (decimal == "") {
outputCharacters += CN_INTEGER;
}
outputCharacters = CN_SYMBOL + outputCharacters;
return outputCharacters;
}
</script>
Ⅱ JS里面货币类型怎么弄 比如我现在有200000 这个数字怎么样转化为货币类型200.000.00
function FormatMoney(money) {
if (/[^0-9\.]/.test(money)) return '0.00';
money = money.replace(/^(\d*)$/, "$1.");
money = (money + "00").replace(/(\d*\.\d\d)\d*/, "$1");
money = money.replace(".", ",");
var re = /(\d)(\d{3},)/;
while (re.test(money)) {
money = money.replace(re, "$1,$2");
}
money = money.replace(/,(\d\d)$/, ".$1");
return '' + money.replace(/^\./, "0.");
}
Ⅲ money_format — 将数字格式化成货币字符串
这是总结后的知识点,希望能帮到你,数据有点多!
money_format
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
money_format — 将数字格式化成货币字符串
说明
money_format ( string $format , float $number ) : string
money_format() 返回格式化好的 number 版本。 此函数包装了 C 函数库中的 strfmon(),不同之处是:此实现每次只能转化一个数字。
参数
format
格式字符串由以下几部分组成:
单个 % 字符
可选的标记(flags)
可选的字段宽度
可选的,左侧精度
可选的,右侧精度
必选的,单个转化字符
标记(Flags)
可选多个标记,分别是:
=f
字符:=,并紧跟一个字符(单字节) f,用于数字填充。默认的填充字符是空格。
^
禁用分组字符(比如金额中的逗号。在本地区域设置 locale 中定义)。
+ or (
正负数字的格式。使用 +,将使用区域设置(locale)中相当于 + 和 - 的符号。 如果使用 (,负数将被圆括号围绕。不设置的话,默认为 +。
!
不输出货币符号(比如 ¥)。
-
有这个符号的时候,将使字段左对齐(填充到右边),默认是相反的,是右对齐的(填充到左边)。
Ⅳ 【VUE】js将number数字转换为金额格式,类似于10000=10,000.00
比如请求数据返回金额为10000,然后我们给做个金额格式分段;
1、我们首先模拟个数据~vue:data( ){ reutrn:{ num:10000 } } 原生js:var num=10000;
2、在项目中创建一个.js文件写入js方法,如下;
3、js使用可以直接写在方法外
4、vue可以将.js文件引入main文件,或者在本页面引入
5、写入要转换的变量值
Ⅳ Numeral.js
Numeral.js是一款用于格式化和操作数字的JavaScript库。
npm install numeral
在需要用到的地方声明即可
var numeral = require('numeral');
将各种其他格式转化为数字
语法示例:
Input为不同的格式,value为转化的数字
数字可以格式化成货币、百分比、时间,甚至是带有小数点、千分位和告郑缩写。
语法示例:
设置默认格式,以便可以使纯友闹用不带字符串的.format()。默认格式为做罩“0,0”
Ⅵ js 金额分格式转换成元格式
可以通过缩放来进行分到元的转换,同时使用正则对处理后的数字进行千分位格式化
num=num*0.01;//分到元
num+='';//转成字符串
reg=num.indexOf('.') >-1 ?/(d{1,3})(?=(?:d{3})+.)/g:/(d{1,3})(?=(?:d{3})+$)/g;//确定使用有哪个正则
num=num.replace(reg, '$1,');//千分位格式化
经过上述4步,即可完成分到元的转换,并且有千分位的格式化
Ⅶ 【js】金钱格式化(每三位逗号分隔)的方法
我们在日常开发中后台返回的金钱常常只是一个数字,比如12345.67,这时需要做一下转化,把它变成12,345.67这样的金钱格式,我想到的方法如下:
整体思路就是先拿到数据后,先把它当成字符串处理,通过小数点,分开整数和小数部分,然后处理整数部分,如果整数部分小于等于3位,直接用就可以啦,如果大于3位,那么就把这个整数最后3位先存起来且前面加上逗号,然后割掉这个整数的这3位,继续重复这个判断,每次截取的后三位都拼到上一次截取结果的前面,直到整数部分小于等于三位了,就可以和存储的结果拼在一起,再拼上小数部分就可以啦。
希望大家能有更好的方法~
Ⅷ 求助:如何在JS中将一个金额格式化
function toThousands( num ) {
var v = num + '', arr = v.split( '.' );
return num == 0 && '0.00' || ( typeof ( num ) === 'number' || typeof ( num ) === 'string' ) && !isNaN( num - parseFloat( num ) )
&& ( arr[ 0 ].replace( /(\d)(?=(?:\d{3})+$)/g, '$1,' ) + '.' + ( arr.length === 1 && '00'
|| arr.length === 2 && ( ( parseFloat( '0.' + arr[ 1 ] ).toFixed( 2 ) ).toString().split( '.' )[ 1 ] ) ) ) || num;
}
此方法,可以保留两位小数,不会出现科学计数法的尴尬!
Ⅸ 求一个JS正则表达式用于格式化英文中的金额形式。如:25663333444,格式化后为:25,663,333,444
var s = '12345237987584564656,000.00';
var d=s.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
Ⅹ javascript 中对money类型的数据操作
这是一个很常用的 js 技术,因为觉得比较典型,可能很多新手都会遇到此问题,所以整迅哪州理了一下,以备新手查阅。
1、round 方法
作用:返回与给出的数值表达式最接近的整数。
语法:Math.round(number) ,必选项 number 参数是要舍入到最接近整数的值。
说明:如果 number 的小数部分大缓贺于等于 0.5,返回值是大于 number 的最小整数。否则,round 返回小于等于 number 的最大整数。
2、在 Javascript 1.5 (IE5.5+,NS6+ 以上版本支持)中,新增了2个专门用于货币亩蔽流通的函数,Number.toFixed(x) 和 Number.toPrecision(x)。
Number.toFixed(x) 是将指定数字截取小数点后 x 位, Number.toPrecision(x) 是将整个数字截取指定(x)长度。注意,一个是计算小数点后的长度,一个是计算整个数字的长度 。
例如:
<script type="text/javascript">
var aa = 2.3362;
document.write(aa.toFixed(1)); // 2.3
document.write(aa.toFixed(2)); // 2.34
document.write(aa.toPrecision(2)); // 2.3
document.write(aa.toPrecision(3)); // 2.34
document.write(Math.round(aa * 10) / 10); // 2.3
document.write(Math.round(aa * 100) / 100); // 2.34
</script>
由于是新增函数,所以要考虑浏览器支持问题。