Я пытаюсь отформатировать конкретные числа до 8 десятичных знаков, удалив ненужные нули.Формат десятичного числа в PHP
Мой фактический код:
rtrim(sprintf("%.8f", $upto_eight_decimals), '0')
Это фактически предотвращает форматировать число как 0.00012 в 1.2E-4 или 0.00012000
Однако, с числами целого числа, такие как 1 он преобразуется в 1. но этот момент не является моим ожидаемым результатом (я знаю, потому что rtrim удаляет все нули).
UPDATE:rtrim(rtrim(sprintf("%.8f", $upto_eight_decimals), '0'), '.')
это выглядит как работа
попробуйте следующее: - 'number_format ((float) $ upto_eight_decimals, 8, '.', '');' –
Можете ли вы показать, что вы на самом деле имеете в виду, предоставляя некоторые входные данные и требуемые выходы. Только так мы можем перестать гадать, какую проблему вы пытаетесь решить. – RiggsFolly
Я добавил свой новый рабочий код, но я не уверен, что это хороший метод. Я хочу удалить все ненужные нули, избежать форматирования float (например, 1.2E-4), а в случае целого числа (например, 1) удалить конечную точку (например, 1.) – supermoney