js中toFixed方法的两个坑
生活随笔
收集整理的這篇文章主要介紹了
js中toFixed方法的两个坑
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
js中toFixed方法的兩個坑
- toFixed返回結果是string,后續(xù)使用它計算會錯誤
- toFixed返回結果可能出現負零-0.00
toFixed返回結果是string,后續(xù)使用它計算會錯誤
代碼演示:
類型判斷代碼示例:
后續(xù)使用代碼示例:
1)加法測試
加法結果:為字符串拼接。出現了計算錯誤。
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)問題代碼示例如下
總結
以上是生活随笔為你收集整理的js中toFixed方法的两个坑的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求两个数中的较大数
- 下一篇: [深入学习C#]LINQ查询表达式详解(