js數字轉貨幣寫法
① 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.");
}
② 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;
}
看了下沒什麼大問題
③ 如何實現實時輸入數字自動轉換為貨幣形式
呵呵,這個簡單,用JavaScript的onfocus和onblur事件就可以了,前者是焦點集中事件,後者是焦點離開事件,代碼如下:
<html>
<head>
<title>Made By tjoy7d</title>
</head>
<SCRIPT LANGUAGE="JavaScript">
<!--
//得到貨幣形式的數值
function getCurrency(s){
res = Number(s.value).toFixed(2)
return res
}
//得到兩個數的乘積
function getMul(){
res = Number(a.value)*Number(b.value)
res = Number(res).toFixed(2)
return res
}
//-->
</SCRIPT>
數量: <input id=a type=text><br>
單價: <input id=b type=text onblur="this.value=getCurrency(b)"><br>
乘積結果: <input id=c type=text onfocus="this.value=getMul()"><br>
可能不是很符合你的要求,不過你還可以改進一下:)
④ javascript貨幣數字自動轉換為漢字大寫
var nums=[{'1':'壹'},{'2':'貳'},{'3':'叄'},.....];
var text_3=document.getElementById('text_3');
text_3.onblur=function(e){
var text=this.value;
var temp;
for(i=0;i<text.length;i++)
{
for(j=0;j<nums.length;j++)
{
for(item in nums[j])
{
if(text[i]===item)
{
temp+=nums[item];
break;
}
}
break;
}
}
document.getElementById('text_4').value=temp;
}
沒在編譯器上寫的 也沒測試 你試試這樣可以不,
⑤ 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中如何將數字類型的金錢轉化為大寫的
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 數字轉千分位 簡單點的
functionformat(num){
return(num.toFixed(2)+'').replace(/d{1,3}(?=(d{3})+(.d*)?$)/g,'$&,');
}
varnum=12345;
alert(format(num));
⑧ javascript有沒有提供將數字格式化為貨幣形式
<script>
function outputMoney(number)
{
number=number.replace(/,/g,"");
if (number=="") return "";
if(number<0)
return '-'+outputDollars(Math.floor(Math.abs(number)-0) + '') + outputCents(Math.abs(number) - 0);
else
return outputDollars(Math.floor(number-0) + '') + outputCents(number - 0);
}
function outputDollars(number)
{
if (number.length<= 3)
return (number == '' ? '0' : number);
else
{
var mod = number.length%3;
var output = (mod == 0 ? '' : (number.substring(0,mod)));
for (i=0 ; i< Math.floor(number.length/3) ; i++)
{
if ((mod ==0) && (i ==0))
output+= number.substring(mod+3*i,mod+3*i+3);
else
output+= ',' + number.substring(mod+3*i,mod+3*i+3);
}
return (output);
}
}
function outputCents(amount)
{
amount = Math.round( ( (amount) - Math.floor(amount) ) *100);
return (amount<10 ? '.0' + amount : '.' + amount);
}
</script>
補充:JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標准通用標記語言下的一個應用)網頁上使用,用來給HTML網頁增加動態功能。
⑨ 如何採用純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