無意中發現了一個問題:0.07*100=7.000000000000001,而不是7,


結果為什么是7.0000000000000001?
其實JavsScript中,變數在存盤時并不區分number和float型別,而是統一按float存盤,而javascript使用IEEE 754-2008 標準定義的64bit浮點格式存盤number,按照IEEE 754的定義: http://en.wikipedia.org/wiki/IEEE_754-2008 decimal64對應的整形部分長度為10,小數部分長度為16,所以默認的計算結果為“7.0000000000000001”,如最后一個小數為0,則取1作為有效數字標志,類似地,可以想像,1/3的結果應該是0.3333333333333333,
所以說可以先判斷存取數字的型別(簡便方法:typeof 變數值)
那么如何校正這個值呢?可以用以下方法:
一、parseInt var r4=parseInt(i*100); 二、Math.round var r2=Math.round((i*100)*1000)/1000;
來源:https://blog.csdn.net/weixin_42246997/article/details/103717718
不要在該奮斗的年紀選擇去偷懶,只有度過一段連自己都被感動了的日子,才會變成那個最好的自己.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/555011.html
標籤:其他
上一篇:前端vue可以左右滾動的切換的tabs tabs選項卡 滑動影片效果 自動寬度
下一篇:返回列表
