|
Округление до десятка | ☑ | ||
---|---|---|---|---|
0
Rumpil
18.01.12
✎
10:18
|
У меня цена на товар должна округляться всегда до десятка, т.е. 280,55 до 290, 286 до 290 и.т.д., функцией Окр насколько я понимаю это не сделать ? Подскажите в какую сторону капать плиз
|
|||
1
Scooter
18.01.12
✎
10:19
|
/ 10
окр * 10 |
|||
2
Чайник Рассела
18.01.12
✎
10:20
|
в УТ и Рознице это реализовано
|
|||
3
Ненавижу 1С
гуру
18.01.12
✎
10:20
|
(0) не правильно понимаешь, укради у кого нибудь СП!
|
|||
4
andrewks
18.01.12
✎
10:20
|
-1
|
|||
5
GLazNik
18.01.12
✎
10:20
|
(0) Эм... сделать
|
|||
6
Rumpil
18.01.12
✎
10:22
|
(3) а че такое СП ? ))
|
|||
7
andrewks
18.01.12
✎
10:22
|
другое дело, что, скорее всего, автору нужно т.н. "экономическое" округление вверх
|
|||
8
GLazNik
18.01.12
✎
10:23
|
(7) а режим округления для чего?
|
|||
9
andrewks
18.01.12
✎
10:23
|
(8) не для этого
|
|||
10
Rumpil
18.01.12
✎
10:24
|
(7) ну да, ценовая политика у компании такая, чтоб при пересчете цена по курсу цена превращалась в привлекательное число, ну не хотят клиенты видеть цены в виде 286 или 281 евро, хотят 290 евро ))
|
|||
11
LouRENs
18.01.12
✎
10:24
|
(6) синтакс помощник
|
|||
12
Rumpil
18.01.12
✎
10:25
|
(11) в синтаксисе СП нет
|
|||
13
andrewks
18.01.12
✎
10:25
|
вот, я тут на досуге баловался:
// Ч - округляемое число // КоэфОкр - коэффициент округления // 1 - до целого // 0.1 - до 2-го знака после запятой // 10 - до десяток // и т.д. Функция ОкрЭконБольш(Знач Ч,Знач КоэфОкр=1) КоэфОкр=?(КоэфОкр=0,1,КоэфОкр); Ч=Ч/КоэфОкр; Возврат ?(Ч=Цел(Ч),Ч,Окр(Ч+0.5,0,0))*КоэфОкр; КонецФункции |
|||
14
НЕА123
18.01.12
✎
10:26
|
оно = а - а%10 + ?(а%10 = 0, 0,10);
|
|||
15
НЕА123
18.01.12
✎
10:29
|
(14) не, не оно. точно не оно.
|
|||
16
filh
18.01.12
✎
10:32
|
Ч = 10*ОКР(Ч/10+0.5)
|
|||
17
НЕА123
18.01.12
✎
10:33
|
?(Цел(а) = а, а, Цел(а)+10)
|
|||
18
Стальная Крыса
18.01.12
✎
10:34
|
вот так:
y = if(Цел(x) = x, x, (Цел(x/10)+1)*10) |
|||
19
Дядя Васька
18.01.12
✎
10:34
|
(16) +0,4 тогда уж...
|
|||
20
Стальная Крыса
18.01.12
✎
10:35
|
пардон:
y = ?(Цел(x) = x, x, (Цел(x/10)+1)*10) |
|||
21
Стальная Крыса
18.01.12
✎
10:36
|
в (17) красивее :)
|
|||
22
0xFFFFFF
18.01.12
✎
10:37
|
(19) 0,49999999
|
|||
23
0xFFFFFF
18.01.12
✎
10:38
|
(17) тогда уж
?(Цел(а/10) = а/10, а, 10*Цел(а/10)+10) |
|||
24
filh
18.01.12
✎
10:39
|
(19) это с какого перепуга?
|
|||
25
НЕА123
18.01.12
✎
10:39
|
(19)
Ч = 10*ОКР(Ч/10+0.5, РежимОкругления.Окр15как10) |
|||
26
Rumpil
18.01.12
✎
10:39
|
Спасибо (13), все работает отлично
|
|||
27
Ненавижу 1С
гуру
18.01.12
✎
10:41
|
ЦИТАТА: "Если параметр отрицательный, то число округляется до соответствующего разряда в целой части, начиная с младших разрядов."
|
|||
28
НЕА123
18.01.12
✎
10:41
|
(23)
ну да, пардон, ошибся |
|||
29
НЕА123
18.01.12
✎
10:42
|
я за (16) (с поправочкой (25))
|
|||
30
Дядя Васька
18.01.12
✎
10:42
|
(24) 1,5 до скольки округлит?
|
|||
31
НЕА123
18.01.12
✎
10:43
|
(30)
до 1. РежимОкругления.Окр15как10 |
|||
32
Дядя Васька
18.01.12
✎
10:44
|
+(30) 1,9 то бишь... тройка вместо двойки ж будет.
|
|||
33
Дядя Васька
18.01.12
✎
10:45
|
(31) а надо до двух...
|
|||
34
Дядя Васька
18.01.12
✎
10:50
|
+(33) по варианту (25) 1.01 неверно округлится, единица вместо двойки. В общем суть в (19), уточнение в (22), в какую сторону не округляй, все равно не 0,5.
|
|||
35
Дядя Васька
18.01.12
✎
10:55
|
+(34) Хотя не, гоню чет... 1,51 же будет, до двойки при Окр15как10. Так что так тоже можно.
|
|||
36
НЕА123
18.01.12
✎
10:57
|
(35)
разрядность забыл... 10*ОКР(0./10+0.5, 0, РежимОкругления.Окр15как10) |
|||
37
Дядя Васька
18.01.12
✎
11:03
|
(36) Да это уже извращение... просто Окр(НашаЦена+0,5, РежимОкругления.Окр15как10, -1)
|
|||
38
Дядя Васька
18.01.12
✎
11:05
|
точнее Окр(НашаЦена+5, РежимОкругления.Окр15как10, -1) раз уж до десяток
|
|||
39
НЕА123
18.01.12
✎
11:18
|
(37)
согласен (38) параметры местами перепутал Окр(НашаЦена+5, -1, РежимОкругления.Окр15как10) |
|||
40
Дядя Васька
18.01.12
✎
11:20
|
(39) ну да...
|
|||
41
filh
18.01.12
✎
11:24
|
Вы чего курите?
РежимОкругления.Окр15как10: Ч=1.5 Ч = 10*ОКР(Ч/10+0.5); Ч = 10 РежимОкругления.Окр15как20: Ч=1.5 Ч = 10*ОКР(Ч/10+0.5); Ч = 10 |
|||
42
Дядя Васька
18.01.12
✎
11:29
|
(41)
РежимОкругления.Окр15как20: Ч=10 Ч = 10*ОКР(Ч/10+0.5); Ч = 20 |
|||
43
filh
18.01.12
✎
11:31
|
(42) а, вы про это... ну да, (41) сторно
:) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |