2012-11-18 261 views
0

大家好我需要一些帮助。我绝不是一个JavaScript程序员,但我拼凑了一些代码来完成我所需要的操作,但是我的货币格式有问题。在下面的代码中,myForm.man_quan.value不需要$,但确实需要用逗号分隔数千个,而myForm.man_price.value需要$,逗号和.00(如果价格不含分)。Javascript货币格式

基本上我需要能够将$和和.00加到我的东西上。

function runTotal(myForm) { 
var form_field1 = Number(myForm.man_quan.value); 
var form_field2 = Number(myForm.man_price.value); 
myForm.man_total.value = form_field1.toFixed(0) * form_field2.toFixed(2); 
} 

回答

0

我觉得你找parseInt函数()不必要的符号http://www.w3schools.com/jsref/jsref_parseint.asp 因为它的货币,你可能想使用parseFloat http://www.w3schools.com/jsref/jsref_parsefloat.asp

so i t souldthing somthing like:

function runTotal(myForm) { 
    var form_field1 = parseFloat(myForm.man_quan.value); 
    var form_field2 = parseFloat(myForm.man_price.value); 
    myForm.man_total.value = form_field1.toFixed(0) * form_field2.toFixed(2); 
} 

重新添加,为数千,可能会更棘手。但你可以用var toString()来重新构造var,并像这样添加$符号。

var output = "$"+myForm.man_total.value.toString(); 
0

尝试

function runTotal(myForm) { 
var form_field1 = formatmoney(myForm.man_quan.value); 
var form_field2 = formatmoney(myForm.man_price.value); 
myForm.man_total.value = form_field1.toFixed(0) * form_field2.toFixed(2); 
} 
+0

这对我没有工作,它实际上并没有做任何事情,但打破计算过程。 – BeKustom

0

替换或删除,比如$和逗号

form_field1 = myForm.man_quan.value.replace(',', '.'); 
form_field2 = myForm.man_price.value.replace('$', ''); 
myForm.man_total.value = form_field1 * form_field2; 
+0

我试过了,它也没有工作。我仍然没有收到$和逗号。 – BeKustom

+0

你可以发表一个例子吗? –

0

在JavaScript中很简单的函数调用的toLocaleString

注:数据类型应为整数

function numTocurrency(num) 
{ 
    return parseInt(num).toLocaleString(); 
} 
+0

'toLocaleString'的输出会被格式化为货币吗? – Kobi

+0

是的,它是JavaScript的默认功能。 –

+0

Int会导致价值的美分部分丢失。 – kRiZ