Округление числа к ближайшим 5 или 10 или X

59
задан 8 revs, 4 users 97% 12 June 2018 в 19:24
поделиться

6 ответов

Это - простая математика. Учитывая номер X и округляющийся фактор N, формула была бы:

раунд (X / N) *N

89
ответ дан Vilx- 24 November 2019 в 18:10
поделиться

К раунду к самому близкому X (не будучи конкретным VBA)

Н = X * интервал (N / X + 0.5)

, Куда интервал (...) возвращает следующее самое низкое целое число.

, Если Ваша доступная функция округления уже округляется к самый близкий , целое число тогда опускает добавление 0,5

12
ответ дан Alnitak 24 November 2019 в 18:10
поделиться

Для строгого подхода Visual Basic можно преобразовать значение с плавающей точкой в целое число к раунду к упомянутому целому числу. VB является одним из редких языков, который округляется на преобразовании типов (большинство других просто усекает.)

Кратные числа 5 или x могут быть сделаны просто путем деления прежде и умножения после раунда.

, Если бы Вы хотите к раунду и сохраняете десятичные разряды, Math.round (n, d) работал бы.

1
ответ дан Raymond Martineau 24 November 2019 в 18:10
поделиться

Просто РАУНД (X/5) *5 должен сделать задание.

0
ответ дан Osama Al-Maadeed 24 November 2019 в 18:10
поделиться

Я не могу добавить комментарий, таким образом, я буду использовать это

в vbs, выполненном это, и весело проводить время, выясняя, почему эти 2 дают результат 2

, Вы не можете доверять раунду

 msgbox round(1.5) 'result to 2
 msgbox round(2.5) 'yes, result to 2 too
0
ответ дан Fredou 24 November 2019 в 18:10
поделиться

что-то как этот?

'nearest
 n = 5
 'n = 10

 'value
 v = 496
 'v = 499 
 'v = 2348 
 'v = 7343

 'mod
 m = (v \ n) * n

 'diff between mod and the val
 i = v-m


 if i >= (n/2) then     
      msgbox m+n
 else
      msgbox m
 end if
0
ответ дан 2 revs 24 November 2019 в 18:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: