激情综合色五月六月婷婷,久久久久久综合网天天,国产精品久久久久精品综合紧无码

  • 2022-10-28
宇哥博客 前端開發 Javascript兩個數相乘出現很多位小數

Javascript兩個數相乘出現很多位小數

JS中兩個數字相乘,當有小數的時候,結果可能出現很多位小數。

23*0.1
//結果:2.3000000000000003
23.08*0.02
//結果:0.46159999999999995
223*0.1
//結果:22.3

出現這情況是因為運算的時候先把浮點數轉化成二進制再進行運算,有的小數在轉換成二進制的時候出現無限循環,從而導致運算出現誤差,其它語言中也有類似情況。

//Java語言
System.out.println(23*0.1);
//結果:2.3000000000000003

解決辦法

可以用toFixed()方法可把 Number 四舍五入為指定小數位數的數字。

23.08*0.02
//結果:0.46159999999999995
(23.08*0.02).toFixed(2)
//結果:'0.46'
(23.08*0.02).toFixed(3)
//結果:'0.462'
(223*0.1).toFixed(2)
//結果:'22.30'

如果不要四舍五入可以floor()方法,floor()方法返回小于等于x的最大整數。

Math.floor(1.3);
//結果:1
Math.floor(1.6);
//結果:1
Math.floor(23.08*0.02*100)/100
//結果:0.46
Math.floor(23.08*0.02*1000)/1000
//結果:0.461
Math.floor(23.08*0.02*10000)/10000
//結果:0.4616
Math.floor(23.08*0.02*100000)/100000
//結果:0.46159
本文來自網絡,不代表本站立場,轉載請注明出處。http://www.callingbugs.com/2728.html

發表評論

您的電子郵箱地址不會被公開。

返回頂部
激情综合色五月六月婷婷,久久久久久综合网天天,国产精品久久久久精品综合紧无码