У меня простой вопрос.
У меня 7310093341976450848
номер 7310093341976450848
который мне нужно было эхо. Но когда я эхо, это дает мне это 7.3100933419765E+18
.
Я пытался
echo (string) $ data;
чтобы передать его в строку, а затем распечатать, но он все равно дает тот же результат.
Первоначально номер имеет тип double
.
I've this 7310093341976450848 number which I needed to echo. The number is initially of type double.
Из-за представления с плавающей запятой, используемого в PHP, как только он будет сохранен как двойной, вы больше не сможете распечатать это точное число.
Это один из (многих) способов распечатать значение:
printf("%.0f", $data); echo number_format($data, 0, '', '');
Если вы не хотите потерять точность, сохраните ее как строку или используйте одну из библиотек произвольной точности: BC Math / GMP .
Используйте number_format () . Вот как:
echo number_format( $data, 0, '', '' );