PHP5.3 number_format возвращает NaN

У меня есть этот кусок кода, разработанный в PHP5.5 без проблем. Однако, когда тот же код перемещается на другой сервер в PHP5.3, number_format () не возвращает ожидаемое значение, а возвращает «nan»

Это мой код:

number_format($num, 2, ".", ",");

переменная $num извлекается из базы данных с типом данных decimal(25,8)

Что меня смущает, так это то, что это работает для некоторого числа, но не для некоторых других. Пример:

$num = 1800.00000000
number_format($num, 2, ".", ",") ==> returns "nan"
$num = 1000.00000000
number_format($num, 2, ".", ",") ==> returns "1,000.00"

Это распространенная ошибка в PHP 5.3? Есть ли какое-то решение для этого?

У меня есть Google, но пока нет решения, которое бы подходило для моего случая. Тип по float или floatval () также не работает.

ОБНОВИТЬ

Проблема случается из-за DateTime::diff() который запускается как раз перед number_format линия.

Каким-то образом эта функция вызывает проблемы в PHP5.3, но не в PHP5.5

Как только функция была изменена с помощью strtotime () для вычисления разницы между двумя датами, все работает нормально.

Хотя, честно говоря, я до сих пор не знаю, почему проблема возникает в первую очередь. Если кто-то знает об этом, пожалуйста, поделитесь со мной тоже. Спасибо!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]