Numbers
4.1 Numeric Types
42, 1_000_000, 0xFF, 0o755, 0b1010, :36<RAKU> Rational (numerator/denominator), default for decimals Rational with unlimited denominator FatRat.new(1, 3) 64-bit floating point 1e10, 3.14e0, Inf, NaN
int, int8..int64, uint.., num, num32, num64 my int $n = 5;
say 0.1 + 0.2 == 0.3; # True (Rat arithmetic is exact)
say (0.1 + 0.2).WHAT; # (Rat)
say 1/3 + 1/6; # 0.5
say (1/3).nude; # (1 3) (numerator, denominator)
say 1/3; # 0.333333
say (1/3).raku; # <1/3>
say 0.1e0 + 0.2e0 == 0.3e0; # False (Num is floating point)
say 2 ** 200; # big integer
say 7 div 2, ' ', 7 mod 2; # 3 1 (integer division and modulo)
say 7 / 2; # 3.5 (a Rat)
say -7 % 3; # 2
say 10 %% 5; # True (divisibility)
say 17.is-prime; # True
say 10.sqrt, ' ', 2.sqrt; # 3.1622776601683795 1.4142135623730951
say (3+4i).abs; # 5
say 255.base(16), ' ', 'ff'.parse-base(16); # FF 255
say 3.7.floor, 3.2.ceiling, 3.5.round, (-3.7).truncate, 2.675.round(0.01);
say 42.Str.chars; # 2
say +"42" + 1; # 43 (prefix + numifies)
say "3.14".Num, " ", "1/3".Rat; # 3.14 0.333333
say ⅓ + ½; # 0.833333 (Unicode vulgar fractions are numeric literals)
say [*] 1..20; # 20! = 2432902008176640000 (a postfix ! operator is d
…