use*_*342 0 javascript parsefloat
我想执行浮点数的加法。我永远只有小数点后两位。
但是如果我这样做:
var num = 0;
num += parseFloat("2434545.64").toFixed(2);
num += parseFloat("454560.91").toFixed(2);
Run Code Online (Sandbox Code Playgroud)
我得到的值是因为02434545.64454560.91
它是附加而不是添加。另外,添加总是准确的吗?
toFixed()返回一个字符串。所以你连接两个String。
您应该仅在最后一个语句中使用toFixed(),并且不应将此调用与+=偶数语句中的运算符混合使用,因为这里:
num += parseFloat("2434545.64").toFixed(2);
Run Code Online (Sandbox Code Playgroud)
parseFloat("2434545.64").toFixed(2)首先被评估。
它产生一个字符串。
然后对其num += String result进行评估。
因此,它将一个 Float 与一个 String 连接起来。这再次产生字符串连接而不是算术运算。
只需在一个不同的语句中调用toFixed():
var num = 0;
num += parseFloat("2434545.64");
num += parseFloat("454560.91");
num = num.toFixed(2);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
632 次 |
| 最近记录: |