js中toFixed方法的两个坑
生活随笔
收集整理的這篇文章主要介紹了
js中toFixed方法的两个坑
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
js中toFixed方法的兩個(gè)坑
- toFixed返回結(jié)果是string,后續(xù)使用它計(jì)算會(huì)錯(cuò)誤
- toFixed返回結(jié)果可能出現(xiàn)負(fù)零-0.00
toFixed返回結(jié)果是string,后續(xù)使用它計(jì)算會(huì)錯(cuò)誤
代碼演示:
類型判斷代碼示例:
后續(xù)使用代碼示例:
1)加法測(cè)試
加法結(jié)果:為字符串拼接。出現(xiàn)了計(jì)算錯(cuò)誤。
2)減法測(cè)試
var subResult = parseFloat(100.001).toFixed(2) - (parseFloat(100.001).toFixed(2)); console.log(subResult); //subResult為0減法結(jié)果:為正常計(jì)算,示例結(jié)果未出現(xiàn)問(wèn)題。是否可能丟失精度有待考證。
2)乘法測(cè)試
var multiResult = (parseFloat(100.015).toFixed(2)) * (parseFloat(100.001).toFixed(2)); console.log(addResult); //multiResult為10002乘法結(jié)果:為正常計(jì)算,示例結(jié)果未出現(xiàn)問(wèn)題。是否可能丟失精度有待考證。
3)除法測(cè)試
var diviResult = (parseFloat(100.015).toFixed(2)) / (parseFloat(100.001).toFixed(2)); console.log(multiResult); //diviResult為1.0002除法結(jié)果:為正常計(jì)算,示例結(jié)果未出現(xiàn)問(wèn)題。是否可能丟失精度有待考證。
結(jié)論:
故toFixed返回結(jié)果是string,若直接用兩個(gè)string進(jìn)行加法會(huì)出現(xiàn)錯(cuò)誤。
toFixed返回結(jié)果可能出現(xiàn)負(fù)零-0.00
toFixed函數(shù)只處理數(shù)字位,不處理符號(hào)位,有可能會(huì)出現(xiàn)-0.0的情況。
例如:
a)問(wèn)題示例如圖
b)問(wèn)題代碼示例如下
總結(jié)
以上是生活随笔為你收集整理的js中toFixed方法的两个坑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 求两个数中的较大数
- 下一篇: JQuery Datatables 在B