php str_replace приведение целого числа к научному номеру

У меня действительно есть проблемы с str_replace на моем веб-сервере, приводящем интергеры к научной нотации.

$strContent = "Yesterday was ##yesterdayTimestamp##!";
$yesterDayTimestamp = floor((time() - (24 * 3600)) / (24 * 3600)) * 24 * 3600 * 1000 ;
$strContent = str_replace("##yesterdayTimestamp##", $yesterDayTimestamp, $strContent) ;

echo $strContent;

// expected output / result on local server
// "Yesterday was 1423612800000!"
// result on remote production server
// "Yesterday was 1.4236128E+12!"

Пытаюсь решить проблему с str() или же format_number() похоже не работает

Как я могу предотвратить использование php научной нотации в коде?

Я нашел решение вопроса, изменив конфигурацию php, например: Сокращение научной нотации PHP.
Однако, поскольку я нахожусь в размещенной среде, это не так просто.

0

Решение

Пока есть менее 14 значащих цифр, printf(%f) работает довольно хорошо:

$big = 1234567890123456;
echo $big, "\n";         # 1.2345678901235E+15
printf("%.0f\n", $big);  # 1234567890123456

Если вам нужно больше, рассмотрите BCMath / GMP

1

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

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

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