我一直在四处寻找这个答案,并且有一些替代方案。不幸的是,它们对我来说都没有意义。
我在一个电子商务网站上工作,如果产品价格是整数,他们会自动上传 '.00'
。我们有一些产品会在使用的地方显示小数点(即 £13.50
),但我们只想从定价中删除所有 .00
的实例。
如果有人需要这方面的更多信息,请告诉我。我知道定价来自网站的许多部分,而不仅仅是一个特定的类别。
最佳答案
如果您仅想要删除字符串末尾的.00
,那么您可以这样做
str = str.replace(/\.00$/,'');
如果您的 .00 可能不在字符串的末尾,例如 "10.00 $ and 24.00€"
,则执行
str = str.replace(/\.00([^\d])/g,'$1');
下面是更多评论:
大多数情况下,数字格式化涉及许多其他要求,我们无法猜测您的要求。
例如,这是我的数字格式化函数之一的测试集:
// formatFloat(100.0) => "100"
// formatFloat(100.0, 12) => "100"
// formatFloat(100.1) => "100.1"
// formatFloat(100.1, 0) => "100"
// formatFloat(100.7, 0) => "101"
// formatFloat(.0434) => "0.043"
// formatFloat(1.999999) => "2"
// formatFloat(.0000047) => "0"
// formatFloat(.0000047, 6) => "0.000005"
// formatFloat(.0000047, 12) => "0.0000047"
// formatFloat(undefined) => ""
// formatFloat(NaN) => ""
因此,如果您对我提供的解决方案不满意,请花时间定义您的完整需求。
关于javascript - 如果一个数字有 .00 你怎么能删除它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17169404/