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;
}
没在编译器上写的 也没测试 你试试这样可以不,