use*_*465 8 javascript numbers decimal
我一直在寻找这个答案,还有一些选择.不幸的是,没有一个对我有意义:(
我正在一个电子商务网站上工作,产品价格自动上传'.00',如果它是一个整数.我们有一些产品会显示使用的小数(即£13.50),但我们只是希望从定价中删除.00的所有实例.
如果有人需要更多相关信息,请告诉我.我知道定价来自网站的许多部分而不仅仅是一个特定的类.
Den*_*ret 18
如果你只是想删除的.00,如果它是一个字符串的结尾,那么你可以这样做
str = str.replace(/\.00$/,'');
Run Code Online (Sandbox Code Playgroud)
如果您的.00可能不在字符串的末尾,例如它"10.00 $ and 24.00€",那么就是
str = str.replace(/\.00([^\d])/g,'$1');
Run Code Online (Sandbox Code Playgroud)
以下是更多评论:
大多数情况下,数字格式化涉及许多其他要求,我们无法猜测你的是什么.
这是我的一个数字格式化函数的测试集:
// 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) => ""
Run Code Online (Sandbox Code Playgroud)
因此,如果您对我给您的解决方案不满意,请花时间确定您的完整要求.
最简单的:
Number(1.05) => 1.05
Number(1.00) => 1
Number('1.05') => 1.05
Number('1.00') => 1
Run Code Online (Sandbox Code Playgroud)
要么
parseFloat('102.00 dollar') => 102
parseInt('102.02 dollar') => 102 see it drops .02
parseFloat('102.02 dollar') => 102.02 , but not this
Run Code Online (Sandbox Code Playgroud)
工作演示这是代码:
var amount=23.00;
if(amount % 1 == 0)
amount=parseInt(amount,10);
Run Code Online (Sandbox Code Playgroud)