目录

avoid_js_rounded_ints

避免 JavaScript 四舍五入的整数。

此规则自 Dart 2.0 起可用。

详情

#

避免在编译为 JavaScript 时无法精确表示的整数字面量。

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

例如,1000000000000000001 不能精确地表示为 JavaScript Number,因此将使用 1000000000000000000 代替。

错误

dart
int value = 9007199254740995;

正确

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

用法

#

要启用 avoid_js_rounded_ints 规则,请在您的 analysis_options.yaml 文件中的 linter > rules 下添加 avoid_js_rounded_ints

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_js_rounded_ints