-3.6.floorToDouble()
Я ожидаю, что это вернет -4, потому что floor() округляется до отрицательной бесконечности, но на самом деле он возвращает -3. В основном он действует как truncate(). Это ошибка в dart sdk или сделано специально?
-3.6.floorToDouble()
Я ожидаю, что это вернет -4, потому что floor() округляется до отрицательной бесконечности, но на самом деле он возвращает -3. В основном он действует как truncate(). Это ошибка в dart sdk или сделано специально?
Это артефакт синтаксического анализа.
Выражение -3.6.floorToDouble()
означает -(3.6.floorToDouble())
, потому что постфикс .
связывает сильнее, чем префикс -
.
Вам нужно заключать в скобки отрицательные числовые литералы, когда вы немедленно вызываете для них методы. В реальных программах такое случается крайне редко — в числовых методах, как правило, можно предсказать результат и просто записать его как литерал.
ceil
во всех средах, с которыми я сталкиваюсь и с которыми работаю ... так что дротик меняет значение стандартных математических функций ?! МОЙ БОГ ... - person Spektre   schedule 10.05.2021-(3.6.floor())
, что-3
. - person jamesdlin   schedule 10.05.2021