惠州企业网站建设公司,网站排名下降了怎么办,手机logo制作软件,北京到安阳火车时刻表js中toFixed方法的两个坑toFixed返回结果是string#xff0c;后续使用它计算会错误toFixed返回结果可能出现负零-0.00toFixed返回结果是string#xff0c;后续使用它计算会错误
代码演示#xff1a; 类型判断代码示例#xff1a;
var stringNum (100.101).toFixed(2);
v…
js中toFixed方法的两个坑toFixed返回结果是string后续使用它计算会错误toFixed返回结果可能出现负零-0.00toFixed返回结果是string后续使用它计算会错误
代码演示 类型判断代码示例
var stringNum (100.101).toFixed(2);
var type typeof stringNum string;
console.log(type); //type为true后续使用代码示例 1加法测试
var addResult parseFloat(100.001).toFixed(2) (parseFloat(100.001).toFixed(2));
console.log(addResult); //addResult为100.00100.00加法结果为字符串拼接。出现了计算错误。
2减法测试
var subResult parseFloat(100.001).toFixed(2) - (parseFloat(100.001).toFixed(2));
console.log(subResult); //subResult为0减法结果为正常计算示例结果未出现问题。是否可能丢失精度有待考证。
2乘法测试
var multiResult (parseFloat(100.015).toFixed(2)) * (parseFloat(100.001).toFixed(2));
console.log(addResult); //multiResult为10002乘法结果为正常计算示例结果未出现问题。是否可能丢失精度有待考证。
3除法测试
var diviResult (parseFloat(100.015).toFixed(2)) / (parseFloat(100.001).toFixed(2));
console.log(multiResult); //diviResult为1.0002除法结果为正常计算示例结果未出现问题。是否可能丢失精度有待考证。
结论 故toFixed返回结果是string若直接用两个string进行加法会出现错误。
toFixed返回结果可能出现负零-0.00
toFixed函数只处理数字位不处理符号位有可能会出现-0.0的情况。 例如 a问题示例如图 b问题代码示例如下
var result parseFloat((parseFloat(总收入数值1) - parseFloat(直营数值2) - parseFloat(战略合作商数值3) - parseFloat(战略合作商数值4)).toFixed(2));
//result为-0.0