Автор Тема: Есть задачка по округлению чисел!  (Прочитано 3881 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн strakhov

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 6
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть задачка по округлению чисел!
« : 17 Января 2008, 15:25:29 »
Округление должно происходить следующим образом:

если вес больше ровного значения (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'шкин

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть задачка по округлению чисел!
« Ответ #1 : 17 Января 2008, 19:27:39 »
работает во всем диапазоне положительных чисел, вообще еще следовало бы сделать проверку на вводимые данные, но думаю автор сам справится
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=<0.2) {
    return $b;
}
else if (0.7>=$c && $c>0.2) {
         $a=$b+0.5;
         return $a;
}
else {
        return ++$b;
}
}
« Последнее редактирование: 18 Января 2008, 18:28:47 от PHP\'шкин »
Да будет с Вами PHP

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Есть задачка по округлению чисел!
« Ответ #2 : 18 Января 2008, 16:58:39 »

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

Так кажется - короче
Не все является тем чем кажется.

Оффлайн PHP'шкин

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 20
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть задачка по округлению чисел!
« Ответ #3 : 18 Января 2008, 18:16:08 »
2Altaxar
У вас округление до половины килограмма идет при дробных значения от 0.25 и до 0.75, а нужно, если я правильно понял, округлять до половины при дробных значениях >0.2 и =< 0.7.
Не работает в диапазоне от 0 до 0.25.
Да будет с Вами PHP

 

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