Конференция "Прочее" » Чё то непонятно с округлением round
 
  • AIK © (17.11.08 10:51) [0]
    round(x)


    Если число до запятой в X четное то округляет до 6, а если нечётное то до 5
    Эт чё такой порядок округления что ли?
  • @!!ex © (17.11.08 10:58) [1]
    Пример числа, которое округляется до 6 и до 5, плиз.
  • Putnik © (17.11.08 10:58) [2]
    Да, и сделано это полностью в соответствии с правилами округления.
  • Jeer © (17.11.08 11:00) [3]
    "Банковский" порядок.
  • AIK © (17.11.08 11:02) [4]
    round(1.5) результат 2
    round(2.5) результат 2
    round(3.5) результат 4
    round(4.5) результат 4
    round(5.5) результат 6
    round(6.5) результат 6
    и.т.д тоесть:

    > Если число до запятой в X четное то округляет до 6, а если
    > нечётное то до 5
  • KSergey © (17.11.08 11:04) [5]
    справка. В ней ответы.
    Hint: округляют не только в математике, и везде по разным правилам.
  • Сергей М. © (17.11.08 11:06) [6]

    > AIK ©   (17.11.08 10:51)  


    F1

    Get/SetRoundMode
  • AIK © (17.11.08 11:36) [7]
    А есть что нибудь готовое, а то я теперь своё придумал?

    Function Okrug(var x: real): string;
    begin
    If  (Frac(x)=0.5) or ((trunc(x) mod 2)<>0) then
     result:=inttostr(round(x-0.1)) else
     result:=inttostr(round(x));
    end;

  • @!!ex © (17.11.08 11:58) [8]
    > [7] AIK ©   (17.11.08 11:36)

    Не надо изобретать велосипед.
    function RealRound(x:double):integer;
    begin
     Result:=trunc(x+0.5);
    end;

  • AIK © (17.11.08 12:05) [9]

    > @!!ex ©   (17.11.08 11:58) [8]

    Что это за фигня?
    Ты хоть понял что мне нужно одинаковое округления как чётных так и нечётных, в моем случаи до 6
  • Сергей М. © (17.11.08 12:12) [10]

    > AIK ©   (17.11.08 11:36) [7]


    Твоя фамилия случаем не Кулибин ?

    см. [6]
  • KSergey © (17.11.08 12:17) [11]
    > @!!ex ©   (17.11.08 11:58) [8]

    ага
    для отрицательных чисел имеет прелестный эффект.
  • @!!ex © (17.11.08 12:18) [12]
    > [9] AIK ©   (17.11.08 12:05)

    Ты хоть понял что код делает?
    Внимательно, посмотри код и подумай над каждой операцией.
  • @!!ex © (17.11.08 12:19) [13]
    > [9] AIK ©   (17.11.08 12:05)

    Ты хоть понял что код делает?
    Внимательно, посмотри код и подумай над каждой операцией.
  • Григорьев Антон © (17.11.08 12:26) [14]
    "Загадки округления" http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1217
    "Загадки округления. Тестирование функций округления различных языков" http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1218
  • @!!ex © (17.11.08 12:38) [15]
    > [11] KSergey ©   (17.11.08 12:17)

    Про отрицательные никто ничего не говорил. :?)
    В примерах были только положительные.
  • AIK © (17.11.08 13:13) [16]

    > Сергей М. ©   (17.11.08 12:12) [10]


    А чё там смотреть проспо посылают в справку на слова
    > Get/SetRoundMode

    И чё это такое вообше функция чтоли, если да то с какого модуля?


    > Григорьев Антон ©   (17.11.08 12:26) [14]


    спасибо займусь чтением.


    > @!!ex ©   (17.11.08 12:38) [15]


    Извеняюсь, утебя оказывается
    trunc

    я думал
    round

  • @!!ex © (17.11.08 13:18) [17]
    > [16] AIK ©   (17.11.08 13:13)

    Умнож в моем примере 0.5 на sign(x) и все. будет рабочий код и для отрицательных чисел.
  • Anatoly Podgoretsky © (17.11.08 13:26) [18]
    > Putnik  (17.11.2008 10:58:02)  [2]

    В каких случая используется подобное округление, у него же особое округление, а ты путаешь с банковским.
 
Конференция "Прочее" » Чё то непонятно с округлением round
Есть новые Нет новых   [134446   +31][b:0][p:0.002]