|
Кастомное округление
|
|||
---|---|---|---|
#18+
НемоКэп42Вращение по кругу - 360 градусов. Хочу, чтобы любые входящие числа округлялись до ближайших из следующего ряда: 0, 90, 180, 270, 360. Простой способ из кучи if я знаю. Ищу вариант поэлегантнее, чтоли. Приветствуются всякие лямбды, LINQ, дженерики и т. д. Спасибо. Я сделал для андроида - на джаве, коллекцию румбов - и у каждого румба диапазон свой, и маркировка тип NNW WNW .... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2015, 11:51 |
|
Кастомное округление
|
|||
---|---|---|---|
#18+
D129НемоКэп42Вращение по кругу - 360 градусов. Хочу, чтобы любые входящие числа округлялись до ближайших из следующего ряда: 0, 90, 180, 270, 360. Простой способ из кучи if я знаю. Ищу вариант поэлегантнее, чтоли. Приветствуются всякие лямбды, LINQ, дженерики и т. д. Спасибо. Я сделал для андроида - на джаве, коллекцию румбов - и у каждого румба диапазон свой, и маркировка тип NNW WNW .... Мы это уже чуть выше обсудили - диапазоны. Поскольку мне нужно было приводить к числам, равноудалённым друг от друга по шкале чисел, то больше подходит тот вариант, что по ссылке на Стек у меня. Но если надо с произвольным удалением по неизвестному правилу, или как-то заобъективизировать промежутки (т. е. превратить их в сущности), то подход с выделением промежутков будет лучше. buserНемоКэп42, а вы в своё кодило не пробовали MidpointRounding.AwayFromZero добавить? Вот именно такие маленькие радости делают нашу ленивую жизнь по-настоящему счастливой. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2015, 11:57 |
|
|
start [/forum/topic.php?fid=20&msg=38895710&tid=1401838]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 149ms |
0 / 0 |