【问题标题】:NodeJS: Convert string X,XXX.XX to floatNodeJS:将字符串 X,XXX.XX 转换为浮点数
【发布时间】:2018-01-28 01:23:38
【问题描述】:

我在打扰您,因为我正在寻找使用 node.JS 将字符串转换为浮点数。 我有一个从请求返回的字符串,如下所示: x,xxx.xxxx(例如4,530.1200)我想将其转换为浮点数:xxxx.xxxx(或4530.1200)。 我试过使用: parseFloat(str) 但它返回 4。我还在网上找到了Float.valueOf(str),但我收到了ReferenceError: Float is not defined 错误。

【问题讨论】:

  • 我会使用字符串替换来解决这个问题,例如:parseFloat('4,530.1200'.replace(/,/g, ''))
  • 非常感谢!我一直在寻找一种比进入 regex manip 更直接的方法,但我的工作就像一个魅力,所以再次感谢!如果您愿意,请将其作为答案提出,以便我可以将其作为解决方案参考!
  • 提示:不要使用浮点数来表示货币。
  • 嗯...好的... :P 为什么会这样(如果你有时间解释的话)?我应该使用什么?供参考。信息是从请求中接收的,然后被处理成特定的布局(仍然是一个对象),然后通过 mongoose 发送到 mongodb。
  • 阅读:stackoverflow.com/a/3730040 对于 Mongoose,有一些特定的插件可以处理货币值,例如 mongoose-currency

标签: node.js string floating-point string-parsing


【解决方案1】:

你可以使用字符串替换来解决这种问题。

str = '4,530.1200';
parseFloat(str.replace(/,/g, ''));

这将从您的字符串中删除所有,,以便您可以使用parseFloat 将其转换为浮点数。

注意正则表达式中的g标志,它代表global,通过使用它您指定删除所有匹配的正则表达式。

【讨论】:

    猜你喜欢
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    相关资源
    最近更新 更多