Округление

  • Автор темы Antigo
  • Дата начала
A

Antigo

Всем привет!
Вопрос простой, как мне на лотусскрипте округлить число 9.35 до близжайшего большего целого, то есть до 10?
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
542
If places is negative, the number is rounded to places digits to the left of the decimal point
Второй параметр отвечает за позицию до которой надо округлять.
Если позиция > 0, то округление в позициях дробных частей.
Если позиция < 0, то округление в позициях целых частей.
Примерах это видно:
' Round to one decimal place.
Print Round(4.23, 1) ' Prints 4.2
Print Round(4.45, 1) ' Prints 4.4
' Round to the nearest hundred.
Print Round(153.33, -2) ' Prints 200
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
542
еще вариант:
Код:
	k = 12.752
k = (k\1)
Print "*" & k
Округление в большую сторон. вернет 13
 

savl

Lotus Team
28.10.2011
2 624
314
BIT
542
я бы посмотрел в каких случаях последний метод может дать сбой.
Это целочисленное деление, для округления оно еще может и подойдет, а вот глобально надо смотреть.
 

Murtas

Green Team
11.04.2006
137
1
BIT
5
э хакеры не усложняйте ... CInt илм Fix поможет вам для забирания целой части, а функцию округления лучше написать свою - спросите у гугла
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 985
611
BIT
472
есть готовая в java, через бридж числовые значения передаются
как заюзать бридж - стопицот раз обсуждалось
 

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Подниму немного тему. Ткните носом, плз. в готовую функцию на LS округления до упаковки. Например, 1 (100) = 100. 45 (200)=200. 49 (50)=50. 4444 (20)= 4460
Нужен аналог ОКРВВЕРХ в excel на скрипте.
 
Последнее редактирование:

alexas1

Green Team
10.04.2014
1 202
225
BIT
45
n - кол-во
q - кратность
rnd(n/q + 0.5)*q
---------------------
ex:
4444/20 = 222.2
округляем вверх rnd(222.2+0.5) = 223
итог 223*20 = 4460
---------------------
ЗЫ или может быть +0.49999 (как в собаках) не помню уже особенностей rnd)
 
Последнее редактирование:
  • Нравится
Реакции: NetWood

NetWood

Lotus Team
17.04.2008
565
96
BIT
174
Да, спасибо вот так работает Round( (qty/pack + 0.49999),0)*pack.

И в екселе точно так же
1550010184058.png
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!