Javascript货币格式

时间:2012-11-18 01:16:45

标签: javascript

大家好,我需要一些帮助。我绝不是一个javascript程序员,但我拼凑了一些代码来完成我需要它做的事情,但我遇到了我所拥有的货币格式的问题。在下面的代码中,myForm.man_quan.value不需要$但是需要用逗号分隔数千,而myForm.man_price.value需要$,逗号和.00如果价格没有分数。

基本上我需要能够将$和.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);
}

4 个答案:

答案 0 :(得分: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);
}  

答案 1 :(得分:0)

替换或删除不必要的符号,例如$和逗号

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

答案 2 :(得分:0)

我认为你在寻找parseInt()http://www.w3schools.com/jsref/jsref_parseint.asp 因为它是货币,你可能想要使用parseFloat http://www.w3schools.com/jsref/jsref_parsefloat.asp

所以它应该是这样的:

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);
}

对于成千上万的人来说,重新加入可能会更加棘手。但你可以使用toString()将var改为string,并像这样添加$符号。

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

答案 3 :(得分:0)

JavaScript中非常简单的函数,名为 toLocaleString

  

注意:数据类型应为整数

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