當前位置:首頁 » 數字幣問答 » 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 17:50:54 瀏覽:893
usdt怎麼轉到btc裡面 發布:2024-11-17 17:40:21 瀏覽:710
ltc價位 發布:2024-11-17 16:44:10 瀏覽:2
貨幣杠桿借usdt 發布:2024-11-17 16:35:53 瀏覽:913
區塊鏈心態貼 發布:2024-11-17 16:32:48 瀏覽:642
幣圈的製作方法和步驟 發布:2024-11-17 16:31:33 瀏覽:512
元宇宙虛擬世界游戲 發布:2024-11-17 16:11:22 瀏覽:548
我的世界挖礦機怎麼做19 發布:2024-11-17 16:11:16 瀏覽:630
萊特幣被那些國家承認 發布:2024-11-17 16:00:16 瀏覽:767
鄭州挖礦機怎麼買 發布:2024-11-17 15:58:53 瀏覽:987