解決js計算0 1 0 2 0 3

2022-03-25 14:28:13 字數 425 閱讀 2226

經常做用js資料運算的同學應該了解,在js中,0.1+0.2不會等於0.3,而是等於:

我一開始發現這個bug的時候也覺得很奇怪,那怎麼去解決這個bug,讓0.1+0.2 最後能得到0.3呢?

方法一最簡單的就是先把0.1和0.2換成別的數字(因為在js中只有這兩個數相加有bug,例如:1.1+1.2不會有問題),所以先讓0.1和0.2分別乘以10,求和之後再除以10 ,則不會有問題:

(0.1*10+0.2*10)/10 ===0.3

方法二可能很多小夥伴都忘記了js的number物件有乙個保留小數字數的方法:tofixed();傳入乙個需要保留的位數就ok:

parsefloat((0.1+0.2).tofixed(10)) ===0.3
因為tofixed方法返回的是乙個字串,所以別忘了把字串轉回浮點數。

js日期計算

1.在已知日期上加天數返回新日期 var day1 2016 5 10 var date1 5 date1 new date date1 tue may 10 2016 00 00 00 gmt 0800 中國標準時間 var millseconds math.abs date1 day1 24 6...

js數值計算

var nndjh new number ndjhs val var nbyxs new number cols 2 firstchild.value var nyxszb nbyxs nndjh obj.value nyxszb.tofixed 4 100 將值轉換成數值 除計算取4位小數,再 1...

js除法計算

1.丟棄小數部分,保留整數部分 parseint 5 2 2.向上取整,有小數就整數部分加1 math.ceil 5 2 3,四捨五入.math.round 5 2 4,向下取整 math.floor 5 2 math 物件的方法 ff firefox,n netscape,ie internet ...