本帖最后由 zorsite 于 2017-5-31 03:15 编辑
1 j! S/ ]3 z9 D! F. H/ H
" D" B2 l1 Y+ G; x D2 ]ceil
/ B- {6 ?6 H- C; s2 \4 X- Q(num num) 天花板,向上取整。 Example double myval =ceil(2.3); // Sets myval to 3. ' `: @) v6 W H1 J! S6 V
double myval = ceil(3.8); // Sets myval to 4.
5 K3 p0 d- F1 Tdouble myval = ceil(-2.3); // Sets myval to -2. 5 e: [; W! A; B
double myval = ceil(-3.8); // Sets myval to -3. ' a' r7 o( e3 i
^1 R/ w$ g- W. D1 X2 k
floor
4 B, |9 o" H; }) z0 r(num num) 地板,向下取整。 Example double myval = floor(2.3); // Sets myvalto 2.
4 I% a. [: b8 x: Tdouble myval = floor(3.8); // Sets myval to 3.
/ |1 |: L8 _4 A4 L- E7 I$ Kdouble myval = floor(-2.3); // Sets myval to -3.
+ m7 G& ` h# w+ mdouble myval = floor(-3.8); // Sets myval to -4.
0 R( P0 O: y9 c% g9 M/ x- Q( i% S# k4 m* X. _
round
( c* h8 O+ f# @! _) F, S* p5 G. _(num value[, num precision]) 根据指定的小数位数进行四舍五入。 Example int mynum1 = round(3.6269);
: K) R+ o @& ^; M+ p9 d0 }- rint mynum2 = round(3.6269,2);
8 Y2 X. }# H! L. V: F5 U4 i; g% r+ z" J. J
mynum1 will be 4, and mynum2 will be 3.63.
+ ]7 y/ F6 S( O! t6 c7 _1 }# e0 D+ A0 U) E
trunc* M4 p" c, r$ j+ i; c: F" w! d
(num value) 去除小数部分取整。Truncation Example trunc(2.478), returns 2% j/ O! P7 j/ [4 S; r1 y
' i* f6 u; [8 H" t
trunc(2.95), returns 2- g6 [4 E( R" Y, B' |$ K
frac4 B) A7 V2 p1 I+ \1 D
(num value) 取小数点之后的部分。 Example frac(3.124) returns 0.1245 Y; l v( a$ ]
frac(-16.12) returns -0.12
1 B1 m" F6 A& G" t+ jfrac(12) returns 0.0
) h5 h( j8 Z! S2 E; Q& o+ V! d- F8 v: Z
sign" c$ h' w. h+ @; Q! V; [! J5 U
(num value) 决断正负零,正数返回1,负数返回-1,0返回0。 Example sign(-1) 3 h* N# |- t- ]" q- g0 L8 T5 D5 U
V5 l9 \% w7 f8 O+ } fabs
a, f# Y) P8 f(num value) 绝对值。 Example if(fabs(x1 - x2) > 5)
, A* e2 F6 i' r. b" o# O) ^; ^( J, O7 f' j! E
factorial6 x$ h7 I/ H2 m" S6 p2 W0 u7 `$ E
(num value) 阶乘。 Example factorial(5)
& F% ^2 t+ H8 [9 \+ r1 K
: z& t2 Z, K& _+ ]This calculates the factorial of 5, which is 1*2*3*4*5 = 120
( h5 e3 w- e# K
+ {$ D' ?' D+ _! v# M7 S* E fmod. v# L3 T1 n0 @& O' S
(num value1, numvalue2) 取余。 Description Remainder of value1/value2. fmod returnsthe floating-point remainder of value1 / value2. If the value of b is 0.0, fmodreturns a quiet NaN.2 p* B$ x; g* M, U2 H( F1 ^% ]; m: [' t
This command is great for getting a repeating set ofnumbers because no matter what value1 is, so long as value2 is unchanged, fmodwill return a set of numbers that keeps repeating itself. Example fmod(10,3) This returns the remainder of 10/3, which is 1.0
3 t4 k+ k3 v9 Z5 O( s" `! b
$ Q' v2 I1 Q6 {if(fmod(current.stats.output,10) == 0)5 v1 m D9 H: V
! B" z; p& X( D7 M0 {0 a2 C6 eIf this condition was in the OnExit of an object in the model, it would be truewith every 10th flowitem that exits, starting with the 10th flowitem. . ^5 H3 _( l9 @ C: \
! }7 u0 E6 d$ O* Y pow& H4 A( ~- F/ ]- k$ w- q
(num num1, numnum2) 乘方。 Example double myval = pow(2,3); Sets myval to 8.
Y1 _6 z. T* X8 k& C* h* h- H2 d: _4 A' R) ?1 t9 C: n
sqr5 ^$ q2 f) i X* o
(num value) 平方Square of value. Example sqr(2) ' H9 [. ^) h; S
, C0 z' m) p' t) A- K5 t
sqrt
o- i( T1 n# Y9 f9 }(num value) 平方根Square root of value Example sqrt(10) This expression will return 3.16
% I7 f' B/ S# s$ [3 I. @6 ]" f% |% V, o2 @
2 C2 e I' e: H. k比如,我们要计算托盘上有多少层货物。$ D- p+ b! v& f8 r9 G( }, _
默认情况下,pallet上面每层可以放置4个box。也就是说,1,2,3,4个box都算1层,5,6,7,8个box都算是2层。2 b6 x1 {- T; l+ |2 H
此时可以用ceil函数向上取整,ceil(content(pallet)/4)即可得到正确的层数。 5 a: y; P' F, A1 E3 h5 W+ l X
|