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