为什么 dart 中的 abs() 函数在不包含在括号中时返回负数?

kod*_*bot 8 dart

abs()函数在调用负数文字时无效。

var y = -123.11.abs(); // prints -123.11

但其他功能,例如floor()工作正常

var y = -123.11.floor(); // prints -123

如果我将负数文字用括号括起来,它就可以正常工作

var y = (-123.11).abs(); // prints 123.11

任何有助于理解这种行为的帮助表示赞赏。

我使用的飞镖版本是 Dart VM version: 2.2.1-dev.0.0.flutter-571ea80e11 (Mon Mar 4 19:30:53 2019 +0000) on "windows_x64"

更新: 注意:在floor()@HighPerformanceMark 指出的负数上应用时无法正常工作

Ale*_*uin 12

根据运算符优先级Dart 语言规范-123.11.abs()-((123.11).abs()).