在角色 Real 中§
有关方法 base,请参见主要文档在上下文中
method base(Real: Int where 2..36, ? --> Str)
使用 $base 作为底数将数字转换为字符串。对于大于十的 $base,使用大写拉丁字母。
255.base(16); # 'FF'
可选的 $digits 参数要求小数部分有这么多个数字(可能是非负数)。如果省略,将根据类型选择合理的默认值。对于 Int,此默认值为 0。对于 Num,默认值为 8。对于 Rational,位数会根据分母的大小进行调整,最小为 6。
可以将 Whatever (*) 的特殊值指定为 $digits,其功能与未为 Rational 以外的所有 Real 类型指定 $digits 时相同。对于 Rational,Whatever 表示您希望小数部分的所有可能数字,但请小心:由于无法检测到重复的小数部分(算法最终将在生成 2**63 个数字后停止)。
产生的最后一位数字始终四舍五入。
say pi.base(10, 3); # OUTPUT: «3.142»say (1/128).base(10, *); # OUTPUT: «0.0078125»say (1/100).base(10, *); # OUTPUT: «0.01»say (1/3) .base(10, *); # WRONG: endlessly repeating fractional part
有关反向操作,请参见 parse-base