Мне нужно преобразовать числа, чтобы иметь .00 после них, но только если число является целым числом или оно имеет только 1 число после десятичной точки, например:
1.4 = 1.40 45 = 45.00 34.77 = 34.77
Какой срок для использования в этом простом случае?
number_format($number, 2, '.', '');
Подробнее читайте на PHP.net . Вам не нужно определять, является ли число целым или нет – если это число, оно будет отформатировано до двух знаков после запятой.
Если вы хотите разделитель тысяч, измените последний параметр на ','
.
Вы также можете использовать printf или sprintf
printf("%01.2f", '34.77'); $formatted_num = sprintf("%01.2f", '34.77');
Проверьте встроенную функцию PHP number_format
Вы можете передать ему переменную и отформатировать ее до нужных знаков после запятой
$number = 20; if (is_int($number)) { $number = number_format($number, 2, '.', ''); }
читать number_format
number_format($number, 2, '.', '');
$num = 0.00638835; $avg = sscanf($num,"%f")[0] /100; echo sprintf("%.10f", $avg); result 0.0000638835