Intereting Posts
if (isset ($ _ POST не работает для Internet Explorer После динамической настройки моей переменной конфигурации в кодеригнере, как получить доступ к ним от других контроллеров и моделей? PHPMailer Скрыть аутентификацию SMTP? CURLM_CALL_MULTI_PERFORM устарела CodeIgniter CAPTCHA валидация Ошибка phpMyAdmin: # 1054 – Неизвестный столбец 'systeem_eisen' в 'order clause' Почему я не должен использовать функции mysql_ * в PHP? Каков правильный способ установки переменных ENV в Laravel 5? стандартный результат воздействия SIGKILL? Какая лучшая библиотека создает текстовое поле с автоматическим предложением AJAX в виде веб-формы? Функция «Ограничить слова», затем показывать текст слева Как заставить Xdebug работать на Mac PHP Загрузить файл, ограничить максимальную скорость и рассчитать скорость загрузки Неустранимая ошибка: вызов неопределенной функции openssl_random_pseudo_bytes () Как я могу вернуть код AdSense из функции в wordpress

number_format () вызывает ошибку «Неверное сформированное числовое значение»

Я использую number_format для округления плавающих чисел до двух десятичных цифр. Проблема в том, что некоторые из моих входов не имеют больше двух десятичных цифр. Итак, код:

number_format($value, 2) 

Вместо мирного добавления 0, если у него недостаточно десятичных цифр, он вызывает ошибки внутри журнала Apache, и это нежелательно.

Поэтому number_format(2.1, 2) или number_format(0, 2) вызовет ошибку в журнале Apache.

[Чт июн. 30 17:18:04 2011] [ошибка] [клиент 127.0.0.1] Замечание PHP. Неверное числовое число, встречающееся в /home/tahoang/Desktop/Projects/weatherData/weatherData.php в строке 41

Как это исправить?

Solutions Collecting From Web of "number_format () вызывает ошибку «Неверное сформированное числовое значение»"

Попробуйте ввести первый параметр num_format () для float:

 $format = number_format((float)0, 2); 

или

 $format = number_format(floatval(0), 2); 

Попытайтесь заменить десятичную точку и после этого бросить плавать.

 var_dump((float)number_format((float)str_replace(",", ".", "20,5"), 2, ".", "")); result: float(20.5); 

Без замены:

 var_dump((float)number_format(floatval("20,5"), 2, ".", "")); result: float(20); var_dump((float)number_format((float) "20,5", 2, ".", "")); result: float(20); 

Я использовал это:

 str_replace(array(".", ","), array(",", "."), $value) 

Может быть, это поможет кому-то.