如何将金额类型更改为数字类型以在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中执行算术运算的主要内容,如果未能解决你的问题,请参考以下文章
如何将复合键列类型从 varchar 更改为 nvarchar?