javascript - 如何将字符串货币值转换为整数
问题描述
我有像“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 作为整数。
但是,有没有更好的方法来做到这一点。
解决方案
你可以从去掉任何不是数字或小数点的东西开始。string.replace
一点正则表达式会有所帮助。然后使用parseFloat
orNumber
将该类似数字的字符串转换为数字。不要转换为整数(没有小数的数字),因为您正在处理看起来是货币的东西。
const num = parseFloat(str.replace(/[^0-9.]/g, ''))
但归根结底,您不应该进行字符串到数字的转换。将数字存储为数字,然后将其格式化为字符串以进行显示,而不是相反。
推荐阅读
- python - 是否可以像这样返回值?
- excel - 在 Excel 中关闭“启用后台刷新”的 PowerShell 脚本
- angular - atlassian cloud oauth 2.0,POST 请求获取令牌时出现错误 403
- javascript - JavaScript 代码不执行,尽管满足了“else if”条件
- maven - Maven 跳过 Cucumber runner 中指定的测试,但如果我通过 testng 运行,它们运行成功
- html - HTML内联块容器->响应滑块
- tableau-api - 日期范围之间的 Tableau 计数记录
- java - 通过循环插入数据抛出无法完成请求:java.lang.NullPointerException in spring
- sql - Teradata SQL:如何在默认情况下生成身份插入而没有多个放大器运行增量触发错误7545?
- cassandra - 将 TWCS(时间压缩)用于时间序列的正确方法