Number_format меняет десятичные цифрыPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Number_format меняет десятичные цифры

Сообщение Anonymous »


Я хочу работать с числами DECIMAL(18,9) из MySQL. В Laravel Eloquent есть десятичное приведение, которое работает внутри функции Number_format, так что в итоге вы получаете строку, которую затем можно использовать для функций bcMath. Интересно, почему функция Number_format выдает такую ​​ошибку? На самом деле ввод предназначен для чисел с плавающей запятой, но для такого большого числа обычно он должен работать только с 5 знаками после запятой.

Существует ли безопасная альтернатива Number_format, которая работает с любым количеством десятичных знаков в качестве входных данных?
$x = "123456789.123456789"; $y = Number_format($x, 9, '.', ''); $z = (двойной)$x; напечатайте $х. "\п"; напечатайте $y. "\п"; напечатайте $z. "\п"; Вывод (PHP 8.1.17): 123456789.123456789 123456789.123456791 123456789.12346
Ответить

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

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

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

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

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