什么是最大值我应该为浮点数显示的小数位数? (PHP)
我仍然无法得到准确的结果。什么是最大值如果我希望它尽可能准确,我应该显示的小数位数?
一些代码(准备复制粘贴和测试):
// Test with 5 decimals
$a = 0.00001;
echo bcadd($a,$a,5) . '<br/>';
echo bcadd($a,$a,6) . '<br/>';
echo number_format(bcadd($a,$a,5),5) . '<br/>';
echo number_format(bcadd($a,$a,5),6) . '<br/>';
echo bcadd(0.00001,0.00001,20) . '<br/>';
echo number_format(bcadd($a,$a,20),5) . '<br/>';
echo number_format(bcadd($a,$a,20),21) . '<br/><br/>';
/* Output:
0.00000
0.000000
0.00000
0.000000
0.00000000000000000000
0.00000
0.000000000000000000000
*/
// Test with 4 decimals
$a = 0.0001;
echo bcadd($a,$a,5) . '<br/>';
echo bcadd($a,$a,6) . '<br/>';
echo number_format(bcadd($a,$a,5),5) . '<br/>';
echo number_format(bcadd($a,$a,5),6) . '<br/>';
echo bcadd(0.00001,0.00001,20) . '<br/>'; // wtf? this outputs 0 too?
echo number_format(bcadd($a,$a,20),5) . '<br/>';
echo number_format(bcadd($a,$a,20),21) . '<br/>';
/* Output:
0.00020
0.000200
0.00020
0.000200
0.00000000000000000000
0.00020
0.000200000000000000010
*/
我应该推断答案是4 ???但我仍然有一个问题在于评论
编辑:我认为没有人理解我的测试。我知道花车不准确。但有一点是1!= 0.98990123,其他的东西是1!= 0.0000。如果我将b设置为bc *函数中的精度,我希望得到至少0.9899(如果完美答案是1),而不是0.0000。有一件事是“对于无限精度来说并不完全准确”,另一件事是“完全没用”。
编辑2:@Michael Borgwardt有解决方案
没有找到相关结果
已邀请:
4 个回复
磐乓铝举
将打印:
佩疵瓦
雄鞋谋塘
耐扫鹤胶鞭