PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
PHP
[請益] round四捨五入後, *100出問題
作者:
FT6034
(耐心等待)
2014-06-03 16:01:57
狀況如下:
$a = 0.9815 //使用 round() 取得
echo $a*100."%"; //出現 98.15000000000001%
$b = 0.8472 //使用 round() 取得
echo $a*100."%"; //出現 84.72%
$c = 0.8531 //使用 round() 取得
echo $c*100."%"; //出現 85.31999999999999%
請教這是什麼原因造成,應該如何修正?@@"
作者:
dinos
(守護神)
2014-06-03 17:06:00
浮點數精度問題,看要不要用bcmath,或是round再除小數位數
作者:
LPH66
(-6.2598534e+18f)
2014-06-03 18:48:00
或者乘完 100 再做 round (當然精度要調整一下)啊, 一樓有提了XD 不過 php 的 round 可以指定精度所以不必先拉到整數位再 round 再除這有點微妙, 你要不要試試乘完再 round?原來是 round($x, 0.0001)*100 則改成 round($x*100, 0.01)之所以微妙的原因是因為該 php 裡的值可能經過多重運算而來因此不一定正好是你認為的那個數值
作者:
hwChang
(聰明是天賦 善良是選擇)
2014-06-09 10:42:00
IEEE 754, |4-2.7.0.3| == 1浮點數運算時,做判斷時要注意 :)如同LPH說的,不一定正好是你認為的那個數值。再試試 |3-2.7-0.3| == 0,可觀察運算後的值。
繼續閱讀
Re: [請益] php 在array裡找值
wild0921
[請益] php 在array裡找值
jacobcan118
Re: [請益] PHP Array
GALINE
[分享] 金額轉中文大寫
Vett
[請益] PHP Array
orz811017
Re: [請益] MySQL select條件中用單引號時發生錯誤
latte0205
[請益] 網頁標題的icon出不來
Azure123
[請益] MySQL select條件中用單引號時發生錯誤
aquila018
[請益] 如何輸出這樣的表格?
jami520
Fw: [問題] android 如何去呼叫 php 功能?
yhn0tgb60
Links
booklink
Contact Us: admin [ a t ] ucptt.com