Skip to main content

prefer-number-format

added in: 1.6.0
⚙️🛠

Warns when int, num or double values are formatted with toString instead of NumberFormat.format().

⚙️ Config

Set ignored-invocations (default is none) to ignore toString calls inside a specific invocation.

dart_code_metrics:
...
rules:
...
- prefer-number-format:
ignored-invocations:
- someInvocation

Example

❌ Bad:

void main() {
const int intValue = 5;
const double doubleValue = 5;
const num numValue = 5;

final intString = intValue.toString(); // LINT
final doubleString = doubleValue.toString(); // LINT
final numString = numValue.toString(); // LINT

final intString2 = '$intValue $5'; // LINT
final doubleString2 = '$doubleValue $5.1'; // LINT
final numString2 = '$numValue'; // LINT
}

✅ Good:

void main() {
const int intValue = 5;
const double doubleValue = 5;
const num numValue = 5;

final intString = NumberFormat().format(intValue);
final doubleString = NumberFormat().format(doubleValue);
final numString = NumberFormat().format(numValue);
}