如何将金额类型更改为数字类型以在javascript中执行算术运算

Posted

技术标签:

【中文标题】如何将金额类型更改为数字类型以在javascript中执行算术运算【英文标题】:how to change amount type to number type to perform arithmetic operations in javascript 【发布时间】:2011-07-15 05:59:35 【问题描述】:

javascript 中,val 的金额类型为 $1,056.89。现在我希望 val 用算术运算来执行,但 alert 给我的是 NaN 而不是算术值。如果我取消 Number 那么 y 值是 1,056.8910 。如何将 val 设置为数字类型并执行算术运算?

var val= document.getElementById('<%= DataItemValue4.ClientID%>').firstChild.nodeValue;
            val= val.replace(/^[\s$]+|[\s]+$/g, '');
            y = Number(val)+ 10;
            alert(y);

谁能帮我解决这个问题!

谢谢你,迈克尔

【问题讨论】:

去掉字符串中的逗号 我是这样给出的,但逗号不吐 val= val.replace(/^[\s,]+|[\s]+,/g, ''); 【参考方案1】:

删除所有非数字字符并将字符串强制转换为数字:

val = + val.replace(/[^\d.-]/g, "");

【讨论】:

【参考方案2】:

去掉所有非数字字符后,尝试使用parseFloat 将值转换为浮点数。

val = val.replace(/[^0-9.]/g, '');
y = parseFloat(val);

【讨论】:

【参考方案3】:

下面的代码应该可以正常工作 -

var val= '$1,056.89';
val= val.replace(/^[\s$]+|[\s]+$|,/g, '');
y = parseFloat(val)+ 10;
alert(y);

【讨论】:

以上是关于如何将金额类型更改为数字类型以在javascript中执行算术运算的主要内容,如果未能解决你的问题,请参考以下文章