我被卡住了!
当我运行代码时,回声82374928408977024。 但我知道一个事实(或至少我很确定)15323523 * 2 + 82374928378329992等于82374928408977038。 字符串太大了?另外,我想在没有科学记号的情况下以简单的数字格式回应结果。
<?php
$number = "15323523";
$result = $number * 2 + 82374928378329992;
echo sprintf('%f', $result);
?>
非常感谢能帮助我解决这个问题的人。
答案 0 :(得分:0)
82374928408977038
需要56位来表示,因为它可以除以2。
82374928408977024
可以表示为2 ^ 7 * 643554128195133,它只需要50位,这符合有效数据的52位,是最接近的数字。
作为旁注,82374928378329992
也不适合。