首页 > 解决方案 > 如何将字符串货币值转换为整数

问题描述

我有像“17,420 ฿”这样的字符串。如何将其更改为整数值。我已经做好了

var a = "17,420 ฿"
var b = a.split(' ')[0];
console.log(Number(b))

但我得到 NaN 因为,. 所以我做了如下

var c = b.replace( /,/g, "" );
console.log(Number(c));

现在,我得到 17420 作为整数。

但是,有没有更好的方法来做到这一点。

标签: javascript

解决方案


你可以从去掉任何不是数字或小数点的东西开始。string.replace一点正则表达式会有所帮助。然后使用parseFloatorNumber将该类似数字的字符串转换为数字。不要转换为整数(没有小数的数字),因为您正在处理看起来是货币的东西。

const num = parseFloat(str.replace(/[^0-9.]/g, ''))

但归根结底,您不应该进行字符串到数字的转换。将数字存储为数字,然后将其格式化为字符串以进行显示,而不是相反。


推荐阅读