Back to top

# Command syntax

r.random() → number

r.random(number[, number], {float: true}) → number

r.random(integer[, integer]) → integer

# Description

Generate a random number between given (or implied) bounds. `random` takes zero, one or two arguments.

• With zero arguments, the result will be a floating-point number in the range `[0,1)` (from 0 up to but not including 1).
• With one argument x, the result will be in the range `[0,x)`, and will be integer unless `{float: true}` is given as an option. Specifying a floating point number without the `float` option will raise an error.
• With two arguments x and y, the result will be in the range `[x,y)`, and will be integer unless `{float: true}` is given as an option. If x and y are equal an error will occur, unless the floating-point option has been specified, in which case x will be returned. Specifying a floating point number without the `float` option will raise an error.

Note: The last argument given will always be the ‘open’ side of the range, but when generating a floating-point number, the ‘open’ side may be less than the ‘closed’ side.

Example: Generate a random number in the range `[0,1)`

``````r.random().run(conn, callback)
``````

Example: Generate a random integer in the range `[0,100)`

``````r.random(100).run(conn, callback)
r.random(0, 100).run(conn, callback)
``````

Example: Generate a random number in the range `(-2.24,1.59]`

``````r.random(1.59, -2.24, {float: true}).run(conn, callback)
``````

# Get more help

Couldn't find what you were looking for?