当前位置:首页 » 数字币问答 » js数字转货币金钱格式化

js数字转货币金钱格式化

发布时间: 2022-02-21 16:57:48

㈠ 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.");
}

㈡ 如何采用纯css将输入的数字转换为金额格式

这个事css干不了吧,怎么也得用上js。

css只能改变显示的样子,在Dom中做改动得用js了

js代码拿去用:

functionnumber_format(number,decimals,dec_point,thousands_sep){
/*
*参数说明:
*number:要格式化的数字
*decimals:保留几位小数
*dec_point:小数点符号
*thousands_sep:千分位符号
**/
number=(number+'').replace(/[^0-9+-Ee.]/g,'');
varn=!isFinite(+number)?0:+number,
prec=!isFinite(+decimals)?0:Math.abs(decimals),
sep=(typeofthousands_sep==='undefined')?',':thousands_sep,
dec=(typeofdec_point==='undefined')?'.':dec_point,
s='',
toFixedFix=function(n,prec){
vark=Math.pow(10,prec);
return''+Math.ceil(n*k)/k;
};

s=(prec?toFixedFix(n,prec):''+Math.round(n)).split('.');
varre=/(-?d+)(d{3})/;
while(re.test(s[0])){
s[0]=s[0].replace(re,"$1"+sep+"$2");
}

if((s[1]||'').length<prec){
s[1]=s[1]||'';
s[1]+=newArray(prec-s[1].length+1).join('0');
}
returns.join(dec);
}

使用方法:

varnum=number_format(1234567.089,2,".",",");//1,234,567.09

㈢ js 金额分格式转换成元格式

可以通过缩放来进行分到元的转换,同时使用正则对处理后的数字进行千分位格式化

  1. num=num*0.01;//分到元

  2. num+='';//转成字符串

  3. reg=num.indexOf('.') >-1 ?/(d{1,3})(?=(?:d{3})+.)/g:/(d{1,3})(?=(?:d{3})+$)/g;//确定使用有哪个正则

  4. num=num.replace(reg, '$1,');//千分位格式化


经过上述4步,即可完成分到元的转换,并且有千分位的格式化

㈣ JS中如何将数字类型的金钱转化为大写的

function Chinese(num) //
{
if(!/^\d*(\.\d*)?$/.test(num)){alert( "Number is wrong! "); return "Number is wrong! ";}

var AA = new Array( "零 ", "壹 ", "贰 ", "叁 ", "肆 ", "伍 ", "陆 ", "柒 ", "捌 ", "玖 ");
var BB = new Array( "圆 ", "拾 ", "佰 ", "仟 ", "万 ", "亿 ", "点 ", " ");

var a = ( " "+ num).replace(/(^0*)/g, " ").split( ". "), k = 0, re = " ";

for(var i=a[0].length-1; i> =0; i--)
{
switch(k)
{
case 0 : re = BB[7] + re; break;
case 4 : if(!new RegExp( "0{4}\\d{ "+ (a[0].length-i-1) + "}$ ").test(a[0]))
re = BB[4] + re; break;
case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;
}
if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re;
if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;
}

if(a.length> 1) //加上小数部分(如果有小数部分)
{
re += BB[6];
for(var i=0; i <a[1].length; i++) re += AA[a[1].charAt(i)];
}
return re;
}

㈤ 通过js控制金额的显示格式###,##0.00

将金额切一下呗,除运算和模运算
比如1299,,预计格式为1,299
1299/1000=1
1299%1000=299
将这两个拼装

㈥ js怎么把数字金额转换为大写金额

网络一下这种写好的js很多 随便选个就可以;我帮你搜了个;
function Arabia_to_Chinese(Num){
for(i=Num.length-1;i>=0;i--)
{
Num = Num.replace(",","")
Num = Num.replace(" ","")
}
Num = Num.replace("¥","")
if(isNaN(Num)) {
alert("请检查小写金额是否正确");
return;
}
part = String(Num).split(".");
newchar = "";
for(i=part[0].length-1;i>=0;i--){
if(part[0].length > 10){ alert("位数过大,无法计算");return "";}
tmpnewchar = ""
perchar = part[0].charAt(i);
switch(perchar){
case "0": tmpnewchar="零" + tmpnewchar ;break;
case "1": tmpnewchar="壹" + tmpnewchar ;break;
case "2": tmpnewchar="贰" + tmpnewchar ;break;
case "3": tmpnewchar="叁" + tmpnewchar ;break;
case "4": tmpnewchar="肆" + tmpnewchar ;break;
case "5": tmpnewchar="伍" + tmpnewchar ;break;
case "6": tmpnewchar="陆" + tmpnewchar ;break;
case "7": tmpnewchar="柒" + tmpnewchar ;break;
case "8": tmpnewchar="捌" + tmpnewchar ;break;
case "9": tmpnewchar="玖" + tmpnewchar ;break;
}
switch(part[0].length-i-1){
case 0: tmpnewchar = tmpnewchar +"元" ;break;
case 1: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break;
case 2: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break;
case 3: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break;
case 4: tmpnewchar= tmpnewchar +"万" ;break;
case 5: if(perchar!=0)tmpnewchar= tmpnewchar +"拾" ;break;
case 6: if(perchar!=0)tmpnewchar= tmpnewchar +"佰" ;break;
case 7: if(perchar!=0)tmpnewchar= tmpnewchar +"仟" ;break;
case 8: tmpnewchar= tmpnewchar +"亿" ;break;
case 9: tmpnewchar= tmpnewchar +"拾" ;break;
}
newchar = tmpnewchar + newchar;
}
if(Num.indexOf(".")!=-1){
if(part[1].length > 2) {
part[1] = part[1].substr(0,2)
}
for(i=0;i<part[1].length;i++){
tmpnewchar = ""
perchar = part[1].charAt(i)
switch(perchar){
case "0": tmpnewchar="零" + tmpnewchar ;break;
case "1": tmpnewchar="壹" + tmpnewchar ;break;
case "2": tmpnewchar="贰" + tmpnewchar ;break;
case "3": tmpnewchar="叁" + tmpnewchar ;break;
case "4": tmpnewchar="肆" + tmpnewchar ;break;
case "5": tmpnewchar="伍" + tmpnewchar ;break;
case "6": tmpnewchar="陆" + tmpnewchar ;break;
case "7": tmpnewchar="柒" + tmpnewchar ;break;
case "8": tmpnewchar="捌" + tmpnewchar ;break;
case "9": tmpnewchar="玖" + tmpnewchar ;break;
}
if(i==0)tmpnewchar =tmpnewchar + "角";
if(i==1)tmpnewchar = tmpnewchar + "分";
newchar = newchar + tmpnewchar;
}
}
while(newchar.search("零零") != -1)
newchar = newchar.replace("零零", "零");
newchar = newchar.replace("零亿", "亿");
newchar = newchar.replace("亿万", "亿");
newchar = newchar.replace("零万", "万");
newchar = newchar.replace("零元", "元");
newchar = newchar.replace("零角", "");
newchar = newchar.replace("零分", "");
if (newchar.charAt(newchar.length-1) == "元" || newchar.charAt(newchar.length-1) == "角")
newchar = newchar+"整"
return newchar;
}
看了下没什么大问题

㈦ js怎么把数字金额转换中文大写金额

//代码如下所示:
functionconvertCurrency(money){
//汉字的数字
varcnNums=newArray('零','壹','贰','叁','肆','伍','陆','柒','捌','玖');
//基本单位
varcnIntRadice=newArray('','拾','佰','仟');
//对应整数部分扩展单位
varcnIntUnits=newArray('','万','亿','兆');
//对应小数部分单位
varcnDecUnits=newArray('角','分','毫','厘');
//整数金额时后面跟的字符
varcnInteger='整';
//整型完以后的单位
varcnIntLast='元';
//最大处理的数字
varmaxNum=999999999999999.9999;
//金额整数部分
varintegerNum;
//金额小数部分
vardecimalNum;
//输出的中文金额字符串
varchineseStr='';
//分离金额后用的数组,预定义
varparts;
if(money==''){return'';}
money=parseFloat(money);
if(money>=maxNum){
//超出最大处理数字
return'';
}
if(money==0){
chineseStr=cnNums[0]+cnIntLast+cnInteger;
returnchineseStr;
}
//转换为字符串
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){
varzeroCount=0;
varIntLen=integerNum.length;
for(vari=0;i<IntLen;i++){
varn=integerNum.substr(i,1);
varp=IntLen-i-1;
varq=p/4;
varm=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!=''){
vardecLen=decimalNum.length;
for(vari=0;i<decLen;i++){
varn=decimalNum.substr(i,1);
if(n!='0'){
chineseStr+=cnNums[Number(n)]+cnDecUnits[i];
}
}
}
if(chineseStr==''){
chineseStr+=cnNums[0]+cnIntLast+cnInteger;
}elseif(decimalNum==''){
chineseStr+=cnInteger;
}
returnchineseStr;
}

㈧ 求助:如何在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;
}
此方法,可以保留两位小数,不会出现科学计数法的尴尬!

㈨ 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)中相当于 + 和 - 的符号。 如果使用 (,负数将被圆括号围绕。不设置的话,默认为 +。
!
不输出货币符号(比如 ¥)。
-
有这个符号的时候,将使字段左对齐(填充到右边),默认是相反的,是右对齐的(填充到左边)。

㈩ 新手 js 金额千位格式化函数 有几个问题 高手求解 急用!!!用千位数字举个例子

function(s,n){
n=n>0&&n<=20?n:2;//n大于20则记为2
s=parseFloat((s+"").replace(/[^d.-]/g,"")).toFixed(n)+"";
//parseFloat((s+"").replace(/[^d.-]/g,"")).toFixed(n)这部分是将s去除掉非小数点非数字非减号的部分,然后按照n位小数输出.
//.是一个整体,表示真实的小数点,.-没意义,只是正好.和-在一起了,这里的-其实表示的是负号
//两处+""都是表示强制转换为字符串

varl=s.split(".")[0].split("").reverse(),//后面写[0]是第一个数为什么又split("").
//s.split(".")[0]取出小数点前面的部分,
//.split("")将取出的字符串转成数组
//reverse()将数组逆序排列

r=s.split(".")[1];//没懂呀
//取出s小数点后面的部分,在前面增加一个var更好些

varlen=(s.indexOf("-")!=-1)?l.length-1:l.length;//怎么考虑的!=-1为真又要长度-1;否则是原有的长度
//这句的意思是,如果数字以负号开头,则l的长度少算一个.
//另一种表述方式可以是varlen=(s[0]=="-")?(l.length-1):l.length;

t="";//这里貌似少了一个var
for(i=0;i<len;i++){
t+=l[i]+((i+1)%3==0&&(i+1)!=len?",":"");//没看懂呀并且这两个条件举个例子
//三目运算符不解释,目的是判断要不要增加一个逗号
//判断条件有两个,需同时成立
//(i+1)%3==0表示是否是3的倍数,也就是说是不是该写逗号了
//(i+1)!=len表示不是最后一个,意思是最后的位置即使正好是3的倍数了也不需要写逗号
}
return((s.indexOf("-")!=-1)?"-":"")+t.split("").reverse().join("")+"."+r;//这个返回举个例子没懂呀
//(s.indexOf("-")!=-1)?"-":"")写不写负号
//t.split("").reverse().join("")将t反转一遍,利用的是数组的逆序排列方法,所以字符串转数字,逆序排列,然后数组转字符串
//"."+r拼装小数点后面的部分

}

热点内容
区块链和虚拟货币区别 发布:2024-11-17 20:15:04 浏览:656
云尊币最新挖矿 发布:2024-11-17 19:51:35 浏览:670
比特币感恩节 发布:2024-11-17 19:45:24 浏览:147
全球拥有比特币最多的人 发布:2024-11-17 19:44:35 浏览:989
有macd的币圈看盘软件 发布:2024-11-17 19:44:27 浏览:189
一btc多少人民币 发布:2024-11-17 19:30:26 浏览:382
区块云super挖矿 发布:2024-11-17 19:30:25 浏览:869
usdt怎么那么便宜 发布:2024-11-17 19:23:18 浏览:436
以太坊卖成usdt委托操作 发布:2024-11-17 19:19:48 浏览:299
币圈k线图怎么看涨跌前景 发布:2024-11-17 19:10:16 浏览:520