跳到主内容

avoid_js_rounded_ints

稳定

避免 JavaScript 四舍五入的整数。

详情

#

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

当程序编译到 JavaScript 时,intdouble 会变成 JavaScript Number。过大的整数(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

如果您使用的是 YAML map 语法来配置 linter 规则,请在 linter > rules 下添加 avoid_js_rounded_ints: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_js_rounded_ints: true