Number_format меняет десятичные цифры ⇐ Php
-
Anonymous
Number_format меняет десятичные цифры
Я хочу работать с числами 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
Я хочу работать с числами 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
Мобильная версия