Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Надо округлить вот так  [new]
тупенький
Guest
надо округлить до цифры 5. помогите написать формулу. голова болит.
пример:
0,023 до 0,025
0,025 не менять
0,028 до 0,03
10 до 15
11 до 15
12 до 15
13 до 15
14 до 15
15 не менять
16 до 20
100 не менять
101 до 105
102 до 105
108 до 110
16 фев 07, 10:57    [3794765]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
DiDis
Member

Откуда: Старый Оскол, Белгородская обл.
Сообщений: 862
1.цифраПосл=Right([цифра];1)
2.цифраОбновл = iif(цифраПосл/5<1;5;цифраПосл)
3.цифра =cint(left([цифра];len([цифра])-1) & цифраОбновл)

где-то так....
16 фев 07, 11:23    [3794980]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
А как надо поступать с числами у которых есть и целая и дробная части?
16 фев 07, 11:27    [3795021]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
тупенький
Guest
округляются более крупные части
16 фев 07, 11:29    [3795038]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
напиши свою функцию округления по своим правилам и используй где хочешь.
_____________________________________
Мое конг-фу сильнее твоего
16 фев 07, 11:31    [3795060]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
тупенький
Guest
если бы цифру последнюю заменять, то вопросов не было. цифр могет быть много

0,0126 до 0,015
0,423 до 0,5
16 фев 07, 11:34    [3795096]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
тупенький
округляются более крупные части
То-есть как? 103.82 преобразуются в 105.82? Или в 105.80, или в 103.85?
16 фев 07, 11:34    [3795104]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
тупенький
Guest
barrabas
напиши свою функцию округления по своим правилам и используй где хочешь.
_____________________________________
Мое конг-фу сильнее твоего


с удовольствием написал бы. да че та как то не выходит цветок
16 фев 07, 11:35    [3795118]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
тупенький
Guest
mds_world
тупенький
округляются более крупные части
То-есть как? 103.82 преобразуются в 105.82? Или в 105.80, или в 103.85?


103,82 до 105
105,82 до 110
16 фев 07, 11:36    [3795129]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
тупенький
если бы цифру последнюю заменять, то вопросов не было. цифр могет быть много

0,0126 до 0,015
0,423 до 0,5
В первом примере округление до трех знаков после запятой из 4-х значного выражения, во втором до одного знака из 3-значного? Почему, по каким правилам?
16 фев 07, 11:37    [3795143]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
пдд
Guest
А как должно округляться 100,5 по этим "бизнес-правилам"?
16 фев 07, 11:56    [3795337]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
тупенький
Guest
mds_world
тупенький
если бы цифру последнюю заменять, то вопросов не было. цифр могет быть много

0,0126 до 0,015
0,423 до 0,5
В первом примере округление до трех знаков после запятой из 4-х значного выражения, во втором до одного знака из 3-значного? Почему, по каким правилам?


в моих примерах округляется все в большую сторону
16 фев 07, 11:58    [3795357]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
тупенький
Guest
да я в случае со 101 неправ оказался.
по логике надо до 150
как бы анализируются две первые цифры и округляются до ближайшего в сторону увеличения до 0 или 5
16 фев 07, 12:03    [3795414]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
автор
в моих примерах округляется все в большую сторону
Я не об этом. В первом цитированном примере вы из 4-значной мантиссы делали 3-значную - "0,0126 до 0,015", а во втором из 3-значной делали число с одним знаком после запятой - "0,423 до 0,5". Почему во втором случае не сделать с 2 знаками или с тремя? Непонятны правила преобразования.
16 фев 07, 12:03    [3795419]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
DiDis
Member

Откуда: Старый Оскол, Белгородская обл.
Сообщений: 862
тупенький
да я в случае со 101 неправ оказался.
по логике надо до 150
как бы анализируются две первые цифры и округляются до ближайшего в сторону увеличения до 0 или 5


??
вы сами придумайте алгоритм
распишите каждый вариант... там сразу будет понятно где ifы ставить какую цифру округлять...
а то получается оч странно
0,0126 до 0,015
0,423 до 0,5
101 до 150
16 фев 07, 12:09    [3795474]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27548
Само по себе округление до пятерки и нуля вместо только 0 не представляет труда, идея в том, что Round применяется к числу умноженному на 2. Вопрос в другом - сколько знаков надо оставлять, какие части числа округляются и по каким правилам.
16 фев 07, 12:19    [3795578]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
тупенький
Guest
DiDis


??
вы сами придумайте алгоритм
распишите каждый вариант... там сразу будет понятно где ifы ставить какую цифру округлять...
а то получается оч странно
0,0126 до 0,015
0,423 до 0,5
101 до 150


0,423 до 0,45
16 фев 07, 12:21    [3795603]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
DiDis
Member

Откуда: Старый Оскол, Белгородская обл.
Сообщений: 862
10,2 до 10,5 или до 11?
16 фев 07, 12:27    [3795671]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
тупенький
Guest
DiDis
10,2 до 10,5 или до 11?

вторая цифра округляется. в данном случае это 0. значиит будет 5
15
0,0435695 вторая цифра 3 значит будет 5 0,045
0,0488754 вторая цифра 8 значит будет 0 0,050
101,48265 вторая цифра 0 значит будет 5 150
149,56236 вторая цифра 4 значит будет 5 150
159,56236 вторая цифра 5 значит будет 0 200
но если 150 должно остаться 150
16 фев 07, 12:49    [3795882]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
:(((
Guest
тупенький

у того кто ставил такую задачу на округление с головой все в порядке?
Пусть сам попробует словами описать правила округления.
задай ему те примеры, которые здесь увидел.
16 фев 07, 13:20    [3796157]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
KrukVN
Member [заблокирован]

Откуда: РБ, Гомель
Сообщений: 778
Это не округление!
Это лажа!
Для решения каких задач это нужно?
16 фев 07, 13:44    [3796335]     Ответить | Цитировать Сообщить модератору
 Re: Надо округлить вот так  [new]
ILL HEAD
Member [заблокирован]

Откуда:
Сообщений: 8498
таблица логарифмов какаято
16 фев 07, 14:08    [3796513]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить