我有像“17,420 \xe0\xb8\xbf”这样的字符串。如何将其更改为整数值。我已经做好了
\n\nvar a = "17,420 \xe0\xb8\xbf"\nvar b = a.split(\' \')[0];\nconsole.log(Number(b))\nRun Code Online (Sandbox Code Playgroud)\n\n但我得到 NaN 因为,.\n所以我做了如下
var c = b.replace( /,/g, "" );\nconsole.log(Number(c));\nRun Code Online (Sandbox Code Playgroud)\n\n现在,我得到 17420 作为一个整数。
\n\n但是,有没有更好的方法来做到这一点。
\n您可以首先去掉任何不是数字或小数点的内容。string.replace一些正则表达式会有所帮助。然后使用parseFloatorNumber将类似数字的字符串转换为数字。不要转换为整数(无小数的数字),因为您正在处理看似货币的内容。
const num = parseFloat(str.replace(/[^0-9.]/g, ''))
Run Code Online (Sandbox Code Playgroud)
但最终,您不应该进行字符串到数字的转换。将数字存储为数字,然后将其格式化为字符串以供显示,而不是相反。