Number
Type
The Number type is used to represent arbitrary-precision signed decimal numbers (including integers), which are
basically of the Java BigDecimal type. Literals of the Number type are exactly represented in memory with an
unscaled arbitrary precision integer and a 32-bit integer scale (representation: unscaledValue * 10^(-scale)). We might
not be able to represent the result of a division exactly in memory. Therefore we use a precision of 16 digits with
HALF_UP rounding (round half away from zero).
A Number variable can be initialized or mutated by assigning it an integer or decimal literal or an expression of the
Number type, e.g.
var e = 0.0000005;
var f = 3000;
var g = 10.0;
var d = 123456.789;
d = d + 44.1 * 3.14;
Methods
divideBy
<function>
Divides this number with another number. Infix operator: /.
Receiver
Number
Arguments
other - Number - number to divide this with
Returns
Number - the result of dividing this with other, can have a fractional part
Usage
20 / 5 == 4
2 / 4 == 0.5
greaterThan
<function>
Compare two numbers. Infix operator: >.
Receiver
Number
Arguments
other - Number
Returns
Boolean - true if this is greater than other, otherwise false
greaterThanOrEqual
<function>
Compare two numbers. Infix operator: >=.
Receiver
Number
Arguments
other - Number
Returns
Boolean - true if this is greater than or equal to other, otherwise false
isInteger
<function>
Returns a Boolean value that indicates whether the Number is equivalent to an integer (has no fractional part different from 0).
Receiver
Number
Returns
Boolean
Usage
51.4.isInteger() == false
51.000.isInteger() == true
lessThan
<function>
Compare two numbers. Infix operator: <.
Receiver
Number
Arguments
other - Number
Returns
Boolean - true if this is less than other, otherwise false
lessThanOrEqual
<function>
Compare two numbers. Infix operator: <=.
Receiver
Number
Arguments
other - Number
Returns
Boolean - true if this is less than or equal to other, otherwise false
negative
<function> Negates this number.
Receiver
Number
Returns
Number
Usage
(20).negative() == (-20)
(-5).negative() == 5
minus
<function>
Subtracts another number from this one. Infix operator: -.
Receiver
Number
Arguments
other - Number - number to subtract from this
Returns
Number - the difference between this and other
multiplyBy
<function>
Multiplies this number with another number. Infix operator: *.
Receiver
Number
Arguments
other - Number - number to multiply this with
Returns
Number - the product of this and other
plus
<function>
Adds another number to this one. Infix operator: +.
Receiver
Number
Arguments
other - Number - number to add to this
Returns
Number - the sum of this and other
remainder
<function>
Returns the remainder of dividing this number with another number. Infix operator: %.
Receiver
Number
Arguments
other - Number - number to divide this with
Returns
Number - the remainder when dividing this with other
roundTo
<function>
Rounds this number to a Number with (non-negative) roundTo digits behind the decimal point. Rounding method used is HALF_UP. roundTo(0) rounds to an integer value.
Receiver
Number
Arguments
roundTo - Number
Returns
Number
Usage
(51.7654).roundTo(1) == 51.8
(51.7654).roundTo(3) == 51.765
(51.7654).roundTo(0) == 52
(-51.7654).roundTo(2) == -51.77
(0.0045678).roundTo(4) == 0.0046
Inherited methods
toText
<function>
Obtain the Text representation of this.
Receiver
T
Type Arguments
T
Returns
Text - the Text representation of this
Usage
Converts a Number to Text.
(51.4).toText() == "51.4"
(0.345).toText() == "0.345"
3000.toText() == "3000"