是否有一个能够轻松输出15位以上整数的函数? 我所知道的方法如下:
$num = 123456789012345;
$num = number_format($num);
$num = str_replace(',', '', $num);
echo $num;
但即使这样,它只能精确到17位数字。在第16位数字之后,数字就不再准确地打印出来了(因为作为浮点数,它开始变得不准确-请参见这里)。
编辑:从下面的答案中,我写了
ini_set('precision',40);
然后直接输出$num。所有这些做法都只是简单地不显示浮点数中的小数点。并且在第16位数字之后,它又开始变得不准确了。 我还尝试了将其转换为数组,然后使用str_split($num);
进行迭代,但是从第17位数字开始,数字也变得不准确了!
最简单的解决方案是将整数转换为字符串。我已经尝试过:
$num = (string)$num;
//and
$num = strval($num);
但是它们都没有起到任何作用,就好像它们仍然是一个int类型一样。
我的问题是为什么转换成字符串的方法不起作用。有没有一种方法可以将数字转换为字符串?谢谢。