|
Округление в 1С | ☑ | ||
---|---|---|---|---|
0
Phace
26.10.15
✎
18:07
|
Что-то не могу сообразить как средствами 1С округлить число 0,5048 до 0,51.
Вариант: Окр(Окр(0.5048, 3, 1), 2, 1) плох, так как знаков после запятой может быть неограниченное количество. Писать цикл исходя из количества знаков как то не очень айс. Может есть у кого иное решение? |
|||
1
Fragster
гуру
26.10.15
✎
18:08
|
Окр(Число+0.5)?
|
|||
2
mikecool
26.10.15
✎
18:08
|
(1) +1
|
|||
3
Fragster
гуру
26.10.15
✎
18:08
|
вернее
Окр(Число+0.5, 2, РежимОкругления.Окр15как10) |
|||
4
PR третий
26.10.15
✎
18:09
|
(0) В твоей постановке решение очень простое Окр(0.5048, 3, 1) + 0.01
|
|||
5
Phace
26.10.15
✎
18:09
|
(1) не, получится больше единицы, а нужно до копеек (2 разряда после запятой).
Запрос, типа "ВЫБРАТЬ ВЫРАЗИТЬ(0.5048 КАК ЧИСЛО(15, 2)) КАК Поле1" тоже возвращает 0,50 |
|||
6
Fragster
гуру
26.10.15
✎
18:09
|
(5) -> (3)
|
|||
7
PR третий
26.10.15
✎
18:09
|
(3) Вернее Окр(Число+0.05, 2, РежимОкругления.Окр15как10), да?
|
|||
8
Fragster
гуру
26.10.15
✎
18:10
|
ну и не 0.5, а 0.005
|
|||
9
Phace
26.10.15
✎
18:10
|
(4) так нужен универсальный способ для любого количества знаков после запятой
|
|||
10
Fragster
гуру
26.10.15
✎
18:10
|
(7) ну да. просто в прошлый раз был вопрос про рубли вверх :)
|
|||
11
Fragster
гуру
26.10.15
✎
18:12
|
а еще +0.5 можно заменить на
ЧислоЗнаков = 2; Дополнение = Pow(0.1, ЧислоЗнаков) * 0.5; Окр(Число + Дополнение, ЧислоЗнаков , РежимОкругления.Окр15как10) |
|||
12
Phace
26.10.15
✎
18:13
|
Смысл такой, не округлять так, как это делает 1С, т.е. отрезает до двух знаков число, и анализирует его, а начиная с последнего знака округлять последовательно поразрядно, так например можно посчитать на обычном калькуляторе, если поставить на нем режим округления до двух знаков после запятой и режим "UP", но как смоделировать в 1С не пойму пока.
|
|||
13
PR третий
26.10.15
✎
18:13
|
(9) Тебе решение под ключ?
|
|||
14
Fragster
гуру
26.10.15
✎
18:13
|
(13) так оно уже было
|
|||
15
Локи-13
26.10.15
✎
18:16
|
(12) погрешность может быть колоссальной, особенно если много знаков
|
|||
16
orefkov
26.10.15
✎
18:16
|
(12)
Употеешь 1/3 с конца анализировать. |
|||
17
Phace
26.10.15
✎
18:18
|
(16) В том то и причина, почему цикл делать не хочется, но калькулятор то считает как надо!
|
|||
18
bolobol
26.10.15
✎
18:23
|
(16) Да почему же? Размерность ограничена - достаточно дойти до упора.
|
|||
19
Phace
26.10.15
✎
18:24
|
(11) дает неверный результат, например 0,434 округляется до 0,44, а должно быть 0,43. А вот 0,435 действительно должно превратиться в 0,44.
|
|||
20
Phace
26.10.15
✎
18:30
|
(18) Проблема следующая: есть заказчик услуги, есть мы исполнители услуги, мы выполняем услугу на сумму 45608.36 руб., высылаем ему счет на сумму услуги и НДС = 45608.36 * 0,18 = 8209,5048 руб, округляем НДС до копеек, получается 8209,50 руб, а заказчик говорит должно быть 8209,51, иначе не оплатим. А он просто считает сумму НДС на калькуляторе с включенной функцией UP.
|
|||
21
Phace
26.10.15
✎
18:31
|
(20)+ проблема в том, что нам нужно знать сколько знаков после запятой поддерживает калькулятор заказчика :)
|
|||
22
PR третий
26.10.15
✎
18:32
|
(19) Ты издеваешься что ли?!
Напиши для начала по-человечески, что ты хочешь. А то в (0) ты заказал борщ, а (19) требуешь макароны. |
|||
23
bolobol
26.10.15
✎
18:32
|
(21) ВЕРНО !
|
|||
24
PR третий
26.10.15
✎
18:33
|
(21) Ну так спроси это у него. Или ты решил спросить это у МиСты, потому что МИСта знает все?
|
|||
25
bolobol
26.10.15
✎
18:35
|
(20) Проще (и надёжнее) - получать НДС до копеек _без_ округления, маневрируя ценой. Ни у одного кривого заказчика и органов - претензий не будет)
|
|||
26
Phace
26.10.15
✎
18:39
|
(22) Должно быть так (точнее так требует заказчик, потому что он считает на калькуляторе с функцией UP):
0,5044 -> 0.50 0,5048 -> 0.51 |
|||
27
Phace
26.10.15
✎
18:41
|
(25) Согласен, и я бы с радостью, но... заказчик требует свои печатные формы, в которых цифры с таким вот округлением. Не предоставим данные, не будет оплаты.
|
|||
28
orefkov
26.10.15
✎
18:43
|
(20)
И что только заказчики не выдумывают, лишь бы подольше не платить. Методологически правильнее один раз доказать заказчику, что он не прав, чем каждый раз под его глюки подстраивается. Он вам в следующий раз скажет, что счёт-фактура должна быть на синей бумаге и пахнуть цветами - ты будешь уточнять - "гвоздикой или розой"? |
|||
29
Phace
26.10.15
✎
18:45
|
(28) К сожалению да, такая специфика работы фирмы, в определенный момент времени есть три-четыре заказчика, которые диктуют условия, каждому свой пакет документов и таки да! даже свою форму счет-фактуру в соответствии с их требованиями!
|
|||
30
Phace
26.10.15
✎
18:48
|
(30) Ладно, закончим, махану циклом, возьму разрядов 15, думаю хватит. Всем спасибо за участие!
|
|||
31
PR третий
26.10.15
✎
18:48
|
(26) Ну так и делай так и не трахай нам мозг.
ОКР(ОКР(Значение, 3), 2) |
|||
32
orefkov
26.10.15
✎
18:52
|
(29)
Так если это заточка под конкретного заказчика - зачем забивать голову поиском универсального решения? Костыль - и должен выглядеть, как костыль, дабы его сразу было видно. Не надо заворачивать его в подарочную упаковку. Что-то решать с костылем можно начинать тогда, когда он больше трёх раз начинает попадаться. |
|||
33
PR третий
26.10.15
✎
18:54
|
(30) Версия для извращенцев
ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(ОКР(Значение, 51), 50), 49), 48), 47), 46), 45), 44), 43), 42), 41), 40), 39), 38), 37), 36), 35), 34), 33), 32), 31), 30), 29), 28), 27), 26), 25), 24), 23), 22), 21), 20), 19), 18), 17), 16), 15), 14), 13), 12), 11), 10), 9), 8), 7), 6), 5), 4), 3), 2) |
|||
34
bolobol
26.10.15
✎
19:21
|
(33) Респект!! ))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |