0

大家好,我在这里需要一些帮助。我绝不是一个 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

4 回答 4

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);
}  
于 2012-11-18T01:32:42.587 回答
0

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

form_field1 = myForm.man_quan.value.replace(',', '.');
form_field2 = myForm.man_price.value.replace('$', '');
myForm.man_total.value = form_field1 * form_field2;
于 2012-11-18T01:37:38.077 回答
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 改成字符串并像这样添加 $ 符号。

var output = "$"+myForm.man_total.value.toString();
于 2012-11-18T02:01:41.583 回答
0

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

注意:数据类型应为整数

function numTocurrency(num)
{
   return parseInt(num).toLocaleString();
}
于 2017-09-13T11:50:47.980 回答