如果我们有一个八进制数,例如0o157
,Perl 6可以将其转换为十进制:
> 0o157
111
我们不允许在其八进制表示中删除此o
:
> 0157
Potential difficulties:
Leading 0 has no meaning. If you meant to create an octal number, use '0o' prefix; like, '0o157'. If you meant to create a string, please add quotation marks.
------> 0157⏏<EOL>
现在让我们从十进制to octal进行反向转换:
> printf "%#o\n", 111
0157
问题是:为什么八进制表示中o
之后现在没有0
?
同时,如果我们转换为十六进制,x
将在那里:
> printf "%#x\n", 111
0x6f
答案 0 :(得分:7)
问题是:为什么八进制表示中
o
之后现在没有0
?
(s)printf是一个非常普遍使用的功能,并直接移植到Perl 6.它意味着与其他语言兼容&#39; printf
的功能多于Perl 6输入语法。
Perl 5&#39; printf
的行为方式相同,因此可能会直接复制其行为。