perl6 Function floor 对数字和字符串的处理方式不同?

perl6 Function floor works differently with numbers and strings?

快速提问:

-1.9.floor 给你 -1,而 "-1.9".floor 给你 -2。应该是这样吗?对我来说似乎有点不一致。

> say -1.9.floor
-1
> say "-1.9".floor
-2

文档说 "rounds it downwards to the nearest integer"。都应该是-2吗?

谢谢!!!

似乎是某种运算符优先级。将数字设为变量并在变量上使用 floor 它看起来没问题。

my $i = -1.9;
say $i.floor; #-2 

我以你的例子为例: .9.floor ==> 0 然后 -1.0 ==> -1