In Str§
See primary documentation in context for method Num.
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, .^name) given $s.Numeric; # OUTPUT: «(0 Rat)» say (.self, .^name) given $s.Num; # OUTPUT: «(-0 Num)»
In role Real§
See primary documentation in context for method Num.
method Num(Real:D:)
Calls the Bridge
method on the invocant and then the Num
method on its return value.
In Cool§
See primary documentation in context for method Num.
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»
In NumStr§
See primary documentation in context for method Num.
method Num
Returns the Num
value of the NumStr
.
In Num§
See primary documentation in context for method Num.
method Num()
Returns the invocant.
In role Rational§
See primary documentation in context for method Num.
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.