如何将金额类型更改为数字类型以在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 更改为 int

输入类型数字使用逗号 - 将点更改为逗号

如何将复合键列类型从 varchar 更改为 nvarchar?

如何将 tktimepicker 默认时钟类型从 12 小时更改为 24 小时?

如何将时间跨度变量更改为整数类型?

如何在 Postgresql 中使用 ALTER 将 VARCHAR 类型更改为 DATETIME?