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