js 为什么0.1+0.2不等于0.3
當(dāng)程序員在使用浮點(diǎn)數(shù)進(jìn)行計(jì)算邏輯處理時(shí),不注意,就可能出現(xiàn)問(wèn)題,
記住,永遠(yuǎn)不要直接比較倆個(gè)浮點(diǎn)的大小
這個(gè)屬于數(shù)字運(yùn)算中的精度缺失的問(wèn)題
在0.1 + 0.2這個(gè)式子中,0.1和0.2都是近似表示的,在他們相加的時(shí)候,兩個(gè)近似值進(jìn)行了計(jì)算,導(dǎo)致最后得到的值是0.30000000000000004,
此時(shí)對(duì)于JS來(lái)說(shuō),其不夠近似于0.3,于是就出現(xiàn)了0.1 + 0.2 != 0.3 這個(gè)現(xiàn)象。 當(dāng)然,也并非所有的近似值相加都得不到正確的結(jié)果。
有時(shí)兩個(gè)近似值進(jìn)行計(jì)算的時(shí)候,得到的值是在JS的近似范圍內(nèi)的,于是就可以得到正確答案。至于哪些值計(jì)算后能得到正確結(jié)果,哪些不能,我們也不需要去記。
最好的方法就是我們想辦法規(guī)避掉這類小數(shù)計(jì)算時(shí)的精度問(wèn)題就好了,那么最常用的方法就是將浮點(diǎn)數(shù)轉(zhuǎn)化成整數(shù)計(jì)算。因?yàn)檎麛?shù)都是可以精確表示的。
轉(zhuǎn)載于:https://www.cnblogs.com/lml-lml/p/11506988.html
總結(jié)
以上是生活随笔為你收集整理的js 为什么0.1+0.2不等于0.3的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ie 报错 vuex requires
- 下一篇: js实现返回顶部功能的解决方案