|
Округление в запросе | ☑ | ||
---|---|---|---|---|
0
Дукат
26.03.12
✎
14:16
|
Есть необходимость сделать округление в запросе. Округление не простое - а чудное...
Смысл: вот например есть 6400 - округляется до 6400 6440 - до 6500 6460 - до 6500 то есть до сотых в большую сторону. Как такое реализовать? |
|||
1
andrewks
26.03.12
✎
14:18
|
cast + "/" + "*"
|
|||
2
andrewks
26.03.12
✎
14:18
|
+ case
|
|||
3
Дукат
26.03.12
✎
14:19
|
при таком получишь в меньшую сторону: то есть 6400
|
|||
4
Дукат
26.03.12
✎
14:20
|
(2) хотя пример можешь привсти?
|
|||
5
andrewks
26.03.12
✎
14:20
|
+ "+"
|
|||
6
Дукат
26.03.12
✎
14:26
|
(5) на пальцах с указанными цифрами можешь показать?
|
|||
7
Omskdizel
26.03.12
✎
14:32
|
Как-то так наверное, но не проверял, консоли нет под рукой |
|||
8
s03
26.03.12
✎
14:33
|
Окр((х+10)/100)*100
|
|||
9
s03
26.03.12
✎
14:34
|
ну и переделать под синтаксис языка запросов
|
|||
10
Reset
26.03.12
✎
14:34
|
Выбрать Выразить((Х+49)/100 как Число(10,0))*100
Не проверял :) |
|||
11
Дукат
26.03.12
✎
14:34
|
(8) если х = 5310 - то будет при таком решении 5300 ( а надо 5400 = пробывал так уже. но проверю сейчас еще раз
|
|||
12
Omskdizel
26.03.12
✎
14:35
|
(10) Хех :)
|
|||
13
Omskdizel
26.03.12
✎
14:35
|
(11) Пробни (7)
|
|||
14
andrewks
26.03.12
✎
14:37
|
(6)
|
|||
15
Дукат
26.03.12
✎
14:37
|
(7) не взлетело) при 5360 дает 5500
|
|||
16
Reset
26.03.12
✎
14:38
|
(15) Проверь (10) ;)
|
|||
17
Дукат
26.03.12
✎
14:38
|
(14) а это работает кажется!
отпишусь чуть позже! |
|||
18
andrewks
26.03.12
✎
14:39
|
(7) у тебя одна ма-а-аленькая ошибочка, а так почти идеально
|
|||
19
Дукат
26.03.12
✎
14:39
|
(16) ща. у тебя короче код. момент
|
|||
20
Дукат
26.03.12
✎
14:41
|
(16) работает.
кто что скажет про вариант (10)? |
|||
21
Omskdizel
26.03.12
✎
14:42
|
(15) Блин, при приведении типа округляет...
(20) Если значения только целые, то взлетит |
|||
22
andrewks
26.03.12
✎
14:43
|
(20) при дробных значениях может быть швах
|
|||
23
s03
26.03.12
✎
14:43
|
если не языком запросов, то проверь такое:
?(х%100=0, х, (Окр(х/100)+1)*100)) ну и опять же, если правильно, переделай на запрос |
|||
24
andrewks
26.03.12
✎
14:43
|
(14) отработает при любых значениях
|
|||
25
andrewks
26.03.12
✎
14:44
|
(23) не языком запросов не интересно и не по сабжу
|
|||
26
Omskdizel
26.03.12
✎
14:45
|
Так проверь, это и с дробными должно работать |
|||
27
Omskdizel
26.03.12
✎
14:46
|
А забавная задачка, я даж проснулся
|
|||
28
Reset
26.03.12
✎
14:46
|
Выразить((Х+49.99999999999999999999999)/100 как Число(10,0))*100
Некрасиво :) |
|||
29
s03
26.03.12
✎
14:47
|
(25) полностью согласен, просто сначала хотел отработать саму логику, переделать правильный способ - задачка уже намного проще.
|
|||
30
Reset
26.03.12
✎
14:47
|
(29) Ну так на бумажке бы и отрабатывал логику
|
|||
31
Omskdizel
26.03.12
✎
14:48
|
(28) Но решение веселое, я чета даже не допер :)
|
|||
32
Дукат
26.03.12
✎
14:48
|
(24) да, у етбя самый красивый код. но вот покороче его просто хотца. думаю \ выбираю!
Большое ВСЕМ спасибо! (27) :D и не говори. |
|||
33
Дукат
26.03.12
✎
14:49
|
Дробный частей думаю не будет...
|
|||
34
andrewks
26.03.12
✎
14:49
|
(29) всё уже украдено до нас ©
v8: Округление до десятка |
|||
35
andrewks
26.03.12
✎
14:50
|
(33) тогда бери (10)
|
|||
36
Дукат
26.03.12
✎
14:50
|
его и забрал! тестирую! спасибо большое!
|
|||
37
Дукат
26.03.12
✎
15:07
|
Всем спасибо еще раз! забрал (10)
зы было то же самое - но стремался + 49 добавить - казалось что ламерски, ан нет - народ не судит строго смотрю такое =) |
|||
38
НЕА123
26.03.12
✎
15:17
|
для небольших целых, пятнично. типа так
Выбор когда X - РазностьДат(ДобавитьКДате(Дата(1,1,1), X/100, Секунда), Дата(1,1,1)) = 0 Тогда Х Иначе X + 100 Конец |
|||
39
НЕА123
26.03.12
✎
15:19
|
Выбор когда X - РазностьДат(ДобавитьКДате(Дата(1,1,1), Секунда, X/100 ), Дата(1,1,1), Секунда) = 0
Тогда Х Иначе X + 100 Конец |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |