output.to from Sideway

Draft for Information Only

# VBScript Math Functions

Functions for manipulating mathematics expression.

## Rnd Function

last updated 2017/9/21

Get a random number according to a specified number setting.

### Syntax

`Rnd[(number)]`

### Argument

numberAny valid numeric expression

### Settings

number argument

numberRnd generatesLess than zeroThe same number every time, using number as the seed.Greater than zeroThe next random number in the sequence.Equal to zeroThe most recently generated number.Not suppliedThe next random number in the sequence.

### Returns

Returns a Variant of Single data subtype containing a random number generated according to a specified number setting.

Special returns of Rnd function:

numberreturn valueNullRun-time ErrorEmpty=Rnd(0)""Run-time Error

### Remarks

• The Rnd function returns a value less than 1 but greater than or equal to 0.
• The value of number determines how Rnd generates a random number.
• For any given initial seed, the same number sequence is generated because each successive call to the Rnd function uses the previous number as a seed for the next number in the sequence.
• Before calling Rnd, use the Randomize statement without an argument to initialize the random-number generator with a seed based on the system timer.
• To produce random integers in a given range, use this formula: Int((upperbound - lowerbound + 1) * Rnd + lowerbound);Here, upperbound is the highest number in the range, and lowerbound is the lowest number in the range.
• To repeat sequences of random numbers, call Rnd with a negative argument immediately before using Randomize with a numeric argument.
• Using Randomize with the same value for number does not repeat the previous sequence.

1

## Examples

Examples of Rnd function

ASP VbScript Command:
``````<script runat="server" language="VBScript">
cmdb="Rnd":cmdc="Rnd()"
Dim vars,num,cmda,var:var=0
cmda=array("num","Rnd(num)")
Dim ucnt,tmp,i:ucnt=UBound(cmda):If var=1 Then:tmp="":Else:tmp="<b>vars</b>":End If:For i=0 to ucnt:tmp=tmp&"<b>"&rmv_ctrl(cmda(i))&", TypeName</b>":Next:Response.Write "Results on Microsoft Windows 8.1 Pro x64, Microsoft-IIS/8.5, VBScript Version 5.8 of page /sideway/default.asp<br />"&"<i>"&tmp&"</i>"
Function dsp_x:Dim tmp_a,tmp_b,i:If varx=0  Then:Execute vars:End If:If var=1 Then:tmp_a="":Else:tmp_a=rmv_ctrl(vars):End If:For i=0 to ucnt:tmp_b=cmd_b(cmda(i)):if i/2=fix(i/2) Then:tmp_b="<b>"&tmp_b&"</b>":End If:tmp_a=tmp_a&tmp_b:Next:Response.Write "<i>"&tmp_a&"</i>":End Function
Function rmv_ctrl(blk_str):Select Case blk_str:Case chr(0):blk_str="NUL":Case chr(1):blk_str="SOH":Case chr(2):blk_str="STX":Case chr(3):blk_str="ETX":Case chr(4):blk_str="EOT":Case chr(5):blk_str="ENQ":Case chr(6):blk_str="ACK":Case chr(7):blk_str="BEL":Case chr(8):blk_str="BS":Case chr(9):blk_str="HT":Case chr(10):blk_str="LF":Case chr(11):blk_str="VT":Case chr(12):blk_str="FF":Case chr(13):blk_str="CR":Case chr(14):blk_str="SO":Case chr(15):blk_str="SI":Case chr(16):blk_str="DLE":Case chr(17):blk_str="DC1":Case chr(18):blk_str="DC2":Case chr(19):blk_str="DC3":Case chr(20):blk_str="DC4":Case chr(21):blk_str="NAK":Case chr(22):blk_str="SYN":Case chr(23):blk_str="ETB":Case chr(24):blk_str="CAN":Case chr(25):blk_str="EM":Case chr(26):blk_str="SUB":Case chr(27):blk_str="ESC":Case chr(28):blk_str="FS":Case chr(29):blk_str="GS":Case chr(30):blk_str="RS":Case chr(31):blk_str="US":Case chr(127):blk_str="DEL":End Select:rmv_ctrl=blk_str:If IsNull(blk_str) OR IsEmpty(Blk_str) OR blk_str="" OR IsNumeric(Blk_str) Then:Else:rmv_ctrl=Replace(Replace(Replace(Replace(Replace(blk_str,"&","&amp;"),"  "," &nbsp;"),"""","&quot;"),"<","&lt;"),">","&gt;"): End If :End Function
Function cmd_b(blk_str):cmd_b="["&cmd_x(blk_str)&"], "&cmd_x("TypeName("&blk_str&")"):End Function
Function cmd_x(blk_str):On Error Resume Next:Dim xans, tmp:xans="":tmp="":execute "xans="&blk_str:If Err.Number <> 0  Then:xans=cmd_x("TypeName("&blk_str&")"):Select Case xans:Case 9::Case Else:xans="error":End Select:End If:If IsArray(xans)=False Then:cmd_x=rmv_ctrl(xans): Else:tmp=lst_arry(xans):cmd_x=trim(tmp):End If:End Function
Function lst_arry(blk_str):Dim tmp,i,q:q="""":tmp="":For i=0 to UBound(blk_str):if VarType(blk_str(i))>1 And VarType(blk_str(i))<6 Then:q="'":End If:tmp=tmp&" "&q&rmv_ctrl(blk_str(i))&q:Next:lst_arry=trim(tmp):End Function

Response.Write "<i>"&Eval("cmdb")&"<b>=</b>"&cmd_b(cmdb)&"</i>"
Response.Write "<i>"&Eval("cmdc")&"<b>=</b>"&cmd_b(cmdc)&"</i>"
vars="num=Null":x=1:dsp_x
vars="num=Empty":x=1:dsp_x
vars="num=Empty":x=1:dsp_x
vars="num=""""":x=1:dsp_x
vars="num=-1":dsp_x
vars="num=-2":dsp_x
vars="num=0":dsp_x
vars="num=-1":dsp_x
vars="num=0":dsp_x
vars="num=0":dsp_x
vars="num=1":dsp_x
vars="num=1":dsp_x
vars="num=0":dsp_x
vars="num=2":dsp_x
vars="num=2":dsp_x
vars="num=0":dsp_x
vars="num=0":dsp_x
vars="num=1":dsp_x
</script>
``````
HTML Web Page In-line Output:
Results on Microsoft Windows 8.1 Pro x64, Microsoft-IIS/8.5, VBScript Version 5.8 of page /sideway/default.asp
varsnum, TypeNameRnd(num), TypeNameRnd=[.7055475], SingleRnd()=[.5795186], Singlenum=Null[], Null[error], errornum=Empty[], Empty[.2895625], Singlenum=Empty[], Empty[.2895625], Singlenum=""[], String[error], errornum=-1[-1], Integer[.224007], Singlenum=-2[-2], Integer[.7133257], Singlenum=0[0], Integer[.7133257], Singlenum=-1[-1], Integer[.224007], Singlenum=0[0], Integer[.224007], Singlenum=0[0], Integer[.224007], Singlenum=1[1], Integer[3.584582E-02], Singlenum=1[1], Integer[.1642639], Singlenum=0[0], Integer[.1797358], Singlenum=2[2], Integer[.5732005], Singlenum=2[2], Integer[3.219455E-02], Singlenum=0[0], Integer[.4033364], Singlenum=0[0], Integer[.4033364], Singlenum=1[1], Integer[.6702209], Single

### Sources

•

ID: 170900029 Last Updated: 2017/11/6 Revision: 2

Home (1)

Management

HBR (3)

Information

Recreation

Hobbies (7)

Culture

Chinese (1097)

English (330)

Reference (60)

Computer

Hardware (148)

Software

Application (187)

Digitization (24)

Numeric (19)

Programming

Web (530)

HTML

Knowledge Base

Common Color (1)

OS (366)

MS Windows

Windows10 (1)

DeskTop (5)

Knowledge

Mathematics

Formulas (8)

Number Theory (69)

Algebra (14)

Trigonometry (18)

Geometry (18)

Calculus (66)

Engineering

Tables (8)

Mechanical

Control

Mechanics (1)

Rigid Bodies

Statics & Dynamics (128)

Fluid (5)

Acoustics (19)

Biology (1)

Geography (1)