|
|
|
| необходимо сделать округление таким образом
1.21 -> 1.20
1.23 -> 1.25
1.28 -> 1.30
|
и т.п
решение я приблизительно придумал, но оно мне не нравится т.к получается объемное и некрасивое (преобразовывал число в строку, обрабатывал отдельно дробную часть и т.д.)
может быть у кого есть идеи, как это сделать минимальными затратами с мин. количеством кода? спасибо. | |
|
|
|
|
|
|
|
для: psychomc
(16.05.2011 в 22:00)
| | а если так?
<?php
$chislo=1.28;
echo number_format($chislo-fmod($chislo,0.05)+((fmod($chislo,0.05)>0.02)?0.05:0),2);
?>
|
| |
|
|
|
|
|
|
|
для: parczynski
(17.05.2011 в 03:18)
| | спасибо. супер! то что надо | |
|
|
|
|
|
|
|
для: psychomc
(16.05.2011 в 22:00)
| | А если так. Разделить на 5, округлить, умножить на 5
<table cellspacing="5">
<?php
$aa = 1.20;
for ($i = 0; $i < 10; $i++) {
$a = $aa + $i / 100;
$b = $a / 5;
$c = round($b, 2) * 5;
echo '<tr><td>'.$a.'</td><td>'.$b.'</td><td>'.$c.'</td></tr>';
}
?>
</table>
|
| |
|
|
|
|
|
|
|
для: Yuriev
(17.05.2011 в 11:35)
| | спасибо, Ваш вариант тоже подходит. осталось только выбрать лучший | |
|
|
|
|
|
|
|
для: Yuriev
(17.05.2011 в 11:35)
| | да, Ваш вариант то что надо, только добавил
sprintf("%01.2f", $c);
чтобы не терялся нолик.
всем еще раз спасибо что откликнулись | |
|
|
|