跳到主要內容

avoid_js_rounded_ints

穩定

避免 JavaScript 四捨五入整數。

詳細資訊

#

避免編譯成 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

如果您改為使用 YAML map 語法來設定 linter 規則,請在 linter > rules 下新增 avoid_js_rounded_ints: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_js_rounded_ints: true