Программирование > PHP

Есть задачка по округлению чисел!

(1/1)

strakhov:
Округление должно происходить следующим образом:

если вес больше ровного значения (1  1,5  2  2,5....) на сумму до 200 грамм, то округляется в меньшую сторону, если больше – то в большую. Кроме начального значения, которое не может быть менее 0,5(шаг веса 0,5 кг.).
 
 
Пример:                            реальный вес 0,1 => 0,5
                                               реальный вес 0,6 => 0,5
                                               реальный вес 0,7 => 0,5
                                               реальный вес 0,75 => 1
                                               реальный вес 2,2 => 2
                                               реальный вес 2,25 => 2,5  и т.д.

Помогите решить задачу с помощью PHP.
Заранее спасибо.

PHP'шкин:
работает во всем диапазоне положительных чисел, вообще еще следовало бы сделать проверку на вводимые данные, но думаю автор сам справится
function kilogramm( $a) // :)
{
if (0.7>=$a) {
    $a=0.5;
   return $a;
}
elseif ( 1.2>=$a&&$a>0.7) {
       $a=1;
      return $a;
}
$b = floor( $a);
$c=fmod( $a, $b);
if ($c==$c && $c>0.2) {
         $a=$b+0.5;
         return $a;
}
else {
        return ++$b;
}
}

Altaxar:

function you_round($a){
return (int)($a*2+0.5)/2;
}

Так кажется - короче

PHP'шкин:
2Altaxar
У вас округление до половины килограмма идет при дробных значения от 0.25 и до 0.75, а нужно, если я правильно понял, округлять до половины при дробных значениях >0.2 и =< 0.7.
Не работает в диапазоне от 0 до 0.25.

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии