内容

avoid_js_rounded_ints

避免 JavaScript 四舍五入的整数。

此规则从 Dart 2.0 开始可用。

详情

#

**避免** 编译为 JavaScript 时无法精确表示的整数文字。

当程序编译为 JavaScript 时,intdouble 变成 JavaScript 数字。过大的整数 (value < Number.MIN_SAFE_INTEGERvalue > Number.MAX_SAFE_INTEGER) 可能会四舍五入到最接近的数字值。

例如,1000000000000000001 无法作为 JavaScript 数字精确表示,因此将使用 1000000000000000000 代替。

错误示例

dart
int value = 9007199254740995;

正确示例

dart
BigInt value = BigInt.parse('9007199254740995');

用法

#

要启用 avoid_js_rounded_ints 规则,请在 analysis_options.yaml 文件中的**代码风格检查 > 规则**下添加 avoid_js_rounded_ints

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_js_rounded_ints