Szukałem już od pewnego czasu, ale to, co mogę znaleźć, nie jest tym, czego szukam. Muszę przekonwertować wartość całkowitą, która może być bardzo duża, na ciąg znaków. Brzmi łatwo: "$var"
? Nie, ponieważ może to prowadzić do reprezentacji liczby.Konwertuj dużą liczbę całkowitą na pełną wartość w PHP
<?php
$var = 10000000000000000000000000;
echo $var."\n";
echo "'$var'\n";
echo (string) $var."\n";
echo strval($var);
?>
1.0E+25
'1.0E+25'
1.0E+25
1.0E+25
Jak mogę sprawić, że wyjście będzie 10000000000000000000000000
zamiast?
Należy pamiętać, że „bardzo ogromna liczba całkowita” nie jest reprezentowane w komputerze jako liczba całkowita, gdyż przekracza zarówno 32-bitowe i 64-bitowe granic. – thetaiko
$ var = '10000000000000000000000000'; –
Nie można tego zrobić z natywną wartością typu int. Musi być zapisany jako ciąg. Jeśli wykonujesz operacje matematyczne na tym numerze, będziesz musiał użyć biblioteki [bcmath] (http://php.net/bcmath). –