本帖最后由 zorsite 于 2017-5-31 03:15 编辑
, q0 b% w$ a U; _4 Z0 f; N5 l7 T& m% R! I0 C& w; C
ceil- H7 {" h- m' G' {; z
(num num) 天花板,向上取整。 Example double myval =ceil(2.3); // Sets myval to 3. ' x& x3 [& f$ f; {& h! {/ ^
double myval = ceil(3.8); // Sets myval to 4. 0 x/ [$ B' L6 p9 n1 F' G. Z
double myval = ceil(-2.3); // Sets myval to -2.
$ E# Q5 X# ~7 j7 W+ n! i3 l4 U+ \double myval = ceil(-3.8); // Sets myval to -3.
1 Z# x0 P* r- @8 |# m% {$ X8 {: D) x7 c! i, P; ^" ] O* i i
floor' ?2 U9 H, R6 `& \1 J. V6 k
(num num) 地板,向下取整。 Example double myval = floor(2.3); // Sets myvalto 2. * n3 q& ~" R. Z% x2 M
double myval = floor(3.8); // Sets myval to 3.
, D. X' K5 U! _& Ddouble myval = floor(-2.3); // Sets myval to -3. % w% J$ x1 t& W3 p6 o! I* D) q$ A* X
double myval = floor(-3.8); // Sets myval to -4.
, e9 S0 e' k& }/ l' M: K& n
! K' A4 c5 J" Z$ W/ N round
0 y/ X2 B1 K, E; k/ b: q1 }5 o& h(num value[, num precision]) 根据指定的小数位数进行四舍五入。 Example int mynum1 = round(3.6269);
6 t1 _+ v8 f4 I6 xint mynum2 = round(3.6269,2);
0 f: q& d! d1 m1 n
7 ?1 n% Q% k: W- ]" G$ U+ `3 Ymynum1 will be 4, and mynum2 will be 3.63.
. D+ u* h9 M1 ^
s+ f+ K0 h2 o9 o5 {% X trunc. v! t0 P0 A' L
(num value) 去除小数部分取整。Truncation Example trunc(2.478), returns 2$ a8 L/ P3 v' B( g
; W" d- B. h8 P2 v0 m3 {
trunc(2.95), returns 2
8 n2 a* ?+ ?* ` frac
1 {) G( M( h) V* N4 N, `3 k(num value) 取小数点之后的部分。 Example frac(3.124) returns 0.1247 Y& A# E! k) G: f9 |( L; H
frac(-16.12) returns -0.12& Q. h) z$ k2 |( H8 D4 \- b
frac(12) returns 0.0 - ^: T$ s6 A6 u' X5 i. q. F
2 a0 P' O8 y) J( u5 F+ Q) o
sign
+ o' q7 h7 W0 n(num value) 决断正负零,正数返回1,负数返回-1,0返回0。 Example sign(-1)
- E0 t8 {7 |+ b( a: U# t1 D* W5 a) _
fabs7 t( o. x% V3 \3 L
(num value) 绝对值。 Example if(fabs(x1 - x2) > 5)
) ^' q3 | Q- t5 j ]9 n* ?
7 J8 k( x0 ?9 c! R& [; i p' L7 s factorial
4 h% d3 e) c( m2 c(num value) 阶乘。 Example factorial(5)
, n9 A- y2 L/ E4 x9 b; u: k* l7 T1 W
This calculates the factorial of 5, which is 1*2*3*4*5 = 120 " n' I5 h/ }. a4 V: ^1 s5 K
- P% |- }5 g5 B' W# n, ] fmod
7 F* u9 p) N5 x. \- s9 U(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.
# K) {0 \( m6 g# h( u& a: Q& SThis 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.04 W8 N* [" W: a8 Y( ~2 X
+ Q: T2 \9 p+ f) t6 S# } C% p. O
if(fmod(current.stats.output,10) == 0), _. r" c4 v0 R m6 u
@4 v( v. }# W2 P# [6 @0 x3 B7 X
If 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. 1 H1 Y' l8 v8 G' S4 B7 N5 ~
2 z& K/ e8 z* L: v
pow
7 j1 D* {: e& t1 D9 {(num num1, numnum2) 乘方。 Example double myval = pow(2,3); Sets myval to 8. ) }& k* }, C r H
: v- F% ]1 A" I$ d, K
sqr
* b7 l: I6 t/ z(num value) 平方Square of value. Example sqr(2) # A' k* i( O8 p
0 m( c5 U6 A- k* s sqrt
+ U6 E" _ G- F& h' F(num value) 平方根Square root of value Example sqrt(10) This expression will return 3.16
% Q0 |: |4 n5 f8 E
8 P/ v" r- L- }% W9 C5 ?' [: t" h- R; m5 P, r
比如,我们要计算托盘上有多少层货物。/ _/ H- D2 } T+ W
默认情况下,pallet上面每层可以放置4个box。也就是说,1,2,3,4个box都算1层,5,6,7,8个box都算是2层。& T7 r5 X8 s$ [
此时可以用ceil函数向上取整,ceil(content(pallet)/4)即可得到正确的层数。 5 Q+ w$ s2 ?8 k$ y. P
|