js把數字轉貨幣輸出
❶ 如何實現實時輸入數字自動轉換為貨幣形式
呵呵,這個簡單,用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>
可能不是很符合你的要求,不過你還可以改進一下:)
❷ 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;
}
看了下沒什麼大問題
❹ js通過表單製作匯率換算器,要求在一張網頁中輸入,在同一頁中輸出轉換後的結果,可
這個簡單啊,難度在於單位換算而已,把一個數字輸入,根據演算法算出,然後輸出就可以了。
沒難度啊。
❺ 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 把阿拉伯數字轉換成中文,是金額類型的
可以採用定義串的形式,然後進行替換的方法操作
比如:var n="12345678090";
var unit = "千百拾億千百拾萬千百拾元", str = "";
然後組裝str
str.replace(/零(千|百|拾|角)/g, "零")
這個方式
❼ 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;
}
❾ 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網頁增加動態功能。
❿ 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;
}
沒在編譯器上寫的 也沒測試 你試試這樣可以不,