Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / округление до 10 / 12 сообщений из 12, страница 1 из 1
14.06.2017, 11:08
    #39471368
abort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
ищется легкий быстрый способ округления до 10 целых в большую сторону
123 - 130
139 - 140
101,123123- 110
40,00002 - 50
...
Рейтинг: 0 / 0
14.06.2017, 11:10
    #39471372
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
Код: plsql
1.
/ ceil *
...
Рейтинг: 0 / 0
14.06.2017, 11:20
    #39471384
abort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
я пока придумал такой вариант.
Код: plsql
1.
        X - mod (X, 10) + 10
...
Рейтинг: 0 / 0
14.06.2017, 11:23
    #39471389
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
abortя пока придумал такой вариант.
Код: plsql
1.
X - mod (X, 10) + 10

Для 120 результат будет 130.
...
Рейтинг: 0 / 0
14.06.2017, 11:27
    #39471396
abort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
Код: plsql
1.
2.
3.
4.
5.
select 
        
        CASE WHEN mod (X, 10) = 0 THEN X ELSE X - mod (X, 10) + 10 END               
       
       from dual;
...
Рейтинг: 0 / 0
14.06.2017, 11:29
    #39471397
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
abort,

Сегодня что, день велосипедного заезда? Переосмысли вариант Elic-a.
...
Рейтинг: 0 / 0
14.06.2017, 11:59
    #39471419
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
abortищется легкий быстрый способ округления до 10 целых в большую сторону
123 - 130
139 - 140
101,123123- 110
40,00002 - 50
быстрый - это сначала без mod, а вслед - без деления.

достаточно ли быстро?
Код: plsql
1.
2.
3.
4.
5.
6.
select 
  10*ceil(0.1*123) 
, 10*ceil(0.1*139)   
, 10*ceil(0.1*101.123123)
, 10*ceil(0.1*40.00002)
from dual


Если нет - изобрети собственную функции для умножения и округления вверх.
...
Рейтинг: 0 / 0
14.06.2017, 12:16
    #39471430
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
boobyЕсли нет - изобрети собственную функции для умножения и округления вверх.Чтобы было еще быстрее?
...
Рейтинг: 0 / 0
14.06.2017, 12:25
    #39471437
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
AmKad,
ну да.
...
Рейтинг: 0 / 0
14.06.2017, 12:28
    #39471441
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
С разумной погрешностью:
Код: plsql
1.
round(… + 5-1e-30)
...
Рейтинг: 0 / 0
14.06.2017, 12:31
    #39471446
abort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
Спасибо, быстрее и не получится
...
Рейтинг: 0 / 0
14.06.2017, 12:35
    #39471449
booby
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
округление до 10
ElicС разумной погрешностью:
Код: plsql
1.
round(… + 5-1e-30)


это плюс, но до -1 знака - round(… + 5-1e-30, -1)
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / округление до 10 / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]