PHP – коммерческий раунд

Я хочу сделать коммерческий раунд по ценам (с PHP)

Например :

15,55 составляет 15,60

15,54 – 15,50

147,77 – 14,80

==> Всегда ноль в конце.

Как я могу это сделать ?

Большое спасибо.

Используйте параметр точности для круглой функции php.

$result = number_format(round(15.5, 1), 2); 

Видеть:

http://php.net/manual/en/function.round.php http://php.net/manual/en/function.number-format.php

Вы можете действовать в два этапа:

  • сначала используйте round() чтобы округлить ваши значения до одного десятичного знака: 15.6
  • и затем используйте number_format() чтобы отобразить их с двумя десятичными знаками (и, если необходимо, тысячами разделителей)

Например, следующая часть кода:

 var_dump( number_format( round(15.55, 1), 2) ); var_dump( number_format( round(15.54, 1), 2) ); var_dump( number_format( round(147.77, 1), 2) ); 

Дам тебе :

 string '15.60' (length=5) string '15.50' (length=5) string '147.80' (length=6) 

Используйте round () http://php.net/manual/en/function.round.php со всеми 3 параметрами

 round($number, 2, PHP_ROUND_HALF_UP); 

нуль может быть добавлен через number_format ()

 $result = sprintf('%.2F', round($val, 1)); 

sprintf() делает то же самое, что и number_format() .

Пытаться:

 $rounded = ceil($number * 10) / 10;