Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Округление чисел float


Автор: yngwie19 22.11.2009, 01:01
Здравствуйте. Для округления float значения я пользуюсь функцией printf() такого формата:
Код

$val = 374.4847;
printf(%.2f,$val);                              // Получается 374.48

Здесь все правильно, но поскольку я считываю значения из БД в поле для типа float может быть введено целое число (например 4), тогда
Код

$val = 4;
printf(%.2f,$val);                              // Получается 4.00
 
Можно ли с помощью printf() такие float числа (в случае если дробная часть равна 0) округлять до целых, чтобы на выходе было просто 4? или нужно использовать в БД не floay а какой-нибудь другой?

Автор: Kallisto 22.11.2009, 01:09
Код

if( (int)$val==$val ) print($val); else printf(%2.f, $val) 
?

Автор: bars80080 22.11.2009, 01:41
а чем round() не устроил?

Автор: yngwie19 22.11.2009, 09:28
bars80080, да в принципе устраивает, просто с помощью printf() компактнее. Значит с print() -ом не получится?

Добавлено через 29 секунд
Kallisto, слишком длинно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)