perl6 Функция floor работает по-разному с числами и строками? - PullRequest
6 голосов
/ 24 марта 2019

Быстрый вопрос:

-1.9.floor дает вам -1, а "-1.9" .floor дает вам -2.Так и должно быть?Мне кажется, это немного противоречит.

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

Документация гласит "округляет до ближайшего целого числа".Должны ли оба быть -2?

Спасибо !!!

1 Ответ

10 голосов
/ 24 марта 2019

Кажется, что какой-то оператор приоритет. Сделайте число переменной и используйте floor для переменной, она выглядит нормально.

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

Я твой пример это делаю: .9.floor ==> 0, а затем -1.0 ==> -1

...