Как бросить поплавок в струну, сохраняя все свои цифры?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как бросить поплавок в струну, сохраняя все свои цифры?

Сообщение Anonymous »

Я знаю, что преобразование типа может привести к небольшим ошибкам из -за того, как плавающие числа хранятся в двоичном изображении. Тем не менее, у меня есть использование случая, когда он встал в строку, но теперь у меня есть проблема, что это может удалить символ: < /p>

Код: Выделить всё

$we_all_float_down_here = (float) 3467.60009765625;
$expected_string = '3467.60009765625';

var_dump($expected_string === (string) $we_all_float_down_here);

echo "Last chars gets stripped:\n"
. (string) $we_all_float_down_here . "\n"
. $expected_string;
< /code>
Это выходы: < /p>
bool(false)
Last chars gets stripped:
3467.6000976562
3467.60009765625
Как я могу поднять плавание в строку, не теряя цифры в процессе?

Код: Выделить всё

ini_set('precision', 100);
не исправит, что определенные значения поплавок сохраняются беспрепятственно
[*]

Код: Выделить всё

number_format
может работать для некоторых чисел, как и мой пример, но это также не меняет того факта, что другие цифры также будут беспрецедентными, или, скорее, некоторые поплавки идентичны другим различным поплавкам. (In decimal, .99999... is (mathematical-correctly) identical to 1, even though it looks different. In php, due to binary representation and memory constraints, the floats for 3467.6000976563 and 3467.60009765625318323146 are (mathematically-incorrectly) идентично здесь.)


Подробнее здесь: https://stackoverflow.com/questions/793 ... its-digits
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»