草庐IT

18446744073709551616

全部标签

PHP:bigint 数字错误

我有一个奇怪的错误。看代码$val1=pow(2,64);$val2=$val1-1;echonumber_format($val1,0,'','')."";echonumber_format($val2,0,'','')."";它的输出1844674407370955161618446744073709551616为什么$val2的值为18446744073709551616而它必须是18446744073709551615? 最佳答案 是因为$val1变成了float,浮点精度没那么高。看Floatprecision看看手册中的