Предполагая, что числа все еще плавают при записи (в отличие от строк), это один из способов сделать это:
echo rtrim(sprintf("%0.15f", $x), "0.");
Я не уверен, есть ли более чистый способ или нет. Но в основном это использует sprintf
для печати максимум 15 знаков после запятой, а затем обрезает любые завершающие символы 0
или .
. (Конечно, нет никакой гарантии, что все будет округлено до нуля, как и следовало ожидать.)
Если вам нужен только фиксированный размер, вы можете отрегулировать 15
и удалить rtrim
.