js實現數字金額轉換大寫及數字加千分符

2021-08-22 09:55:24 字數 1137 閱讀 8403

由於js的弱精度,在計算小數相加時總是會丟失精度,經過測試,即便把小數轉化為整數再算,在幾十個小數相加時精度依然會丟失,在開發處理的時候只有去後台用bigdecimal計算出來再返回前台,如果大家有更好的方法,歡迎告知。

一、金額轉換大寫:

//阿拉伯數字轉換為大寫漢字

function arabia_to_chinese(n)

unit = unit.substr(unit.length - n.length); // 若為整數,擷取需要使用的unit單位

for (var i=0; i < n.length; i++)

return "負數"+str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(萬|億|元)/g, "$1").replace(/(億)萬/g, "$1").replace(/^元零?|零分/g, "").replace(/元$/g, "元整").replace(/角$/g, "角整"); // 替換掉數字裡面的零字元,得到結果

}else

unit = unit.substr(unit.length - n.length); // 若為整數,擷取需要使用的unit單位

for (var i=0; i < n.length; i++)

return str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(萬|億|元)/g, "$1").replace(/(億)萬/g, "$1").replace(/^元零?|零分/g, "").replace(/元$/g, "元整").replace(/角$/g, "角整"); // 替換掉數字裡面的零字元,得到結果

}}

演示結果:

二、數字加千分位

//加千分符

function getcomma(amountinput)else)+(\.|$))/g, '$1,');//使用正則替換,每隔三個數加一','

amountinput.value = c ;

}}

三、只能輸入金額和小數點:onkeyup="value=value.replace(/[^\d\.\- ]/g,'')"

JS 實現數字轉換為大寫中文金額

數字轉換為大寫中文金額 function convertcurrency money money parsefloat money if money maxnum if money 0 轉換為字串 money money.tostring if money.indexof 1 else 獲取整型部分...

Js 將數字轉換為大寫金額

export const changetochinese num num num.replace g,替換tomoney 中的 num num.replace g,替換tomoney 中的空格 num num.replace g,替換掉可能出現的 字元if isnan num 字元處理完畢後開始轉換...

JAVA數字大寫金額轉換

public class moneyutil private static final string iunit private static final string dunit public static string tochinese string str else if str.index...