method Num

Documentation for method Num assembled from the following types:

class Str

From Str

(Str) method Num

Defined as:

method Num(Str:D: --> Num:D)

Coerces the string to Num, using the same rules as Str.Numeric and handling negative zero, -0e0, and positive zero, 0e0.

my Str $s = "-0/5";
say (.self.^namegiven $s.Numeric;  # OUTPUT: «(0 Rat)␤» 
say (.self.^namegiven $s.Num;      # OUTPUT: «(-0 Num)␤» 

class Num

From Num

(Num) method Num

method Num()

Returns the invocant.

role Real

From Real

(Real) method Num

method Num(Real:D:)

Calls the Bridge method on the invocant and then the Num method on its return value.

class Cool

From Cool

(Cool) method Num

Defined as:

multi method Num()

Coerces the invocant to a Numeric and calls its .Num method. Fails if the coercion to a Numeric cannot be done.

say 1+0i.Num;             # OUTPUT: «1␤» 
say 2e1.Num;              # OUTPUT: «20␤» 
say (16/9.Num;          # OUTPUT: «3.1604938271604937␤» 
say (-4/3).Num;           # OUTPUT: «-1.3333333333333333␤» 
say "foo".Num.^name;      # OUTPUT: «Failure␤»

role Rational

From Rational

(Rational) method Num

Defined as:

method Num(Rational:D: --> Num:D)

Coerces the invocant to Num by dividing numerator by denominator. If denominator is 0, returns Inf, -Inf, or NaN, based on whether numerator is a positive number, negative number, or 0, respectively.

class NumStr

From NumStr

(NumStr) method Num

method Num

Returns the Num value of the NumStr.