Как установить maximumFractionDigits в decimalPattern во Flutter?

Aug 27 2020

В зависимости от локали пользователя я показываю десятичные числа, например: 1234,567 будет в:

  • США: 1,234,567
  • NL: 1,234,567

Для этого я использую: NumberFormat.decimalPattern(locale.toString()).format(1234.567)

Это отлично работает :)

Но теперь я хочу установить max-digets. Есть максимум FractionDigits , но как применить этот?

Это не работает: NumberFormat.decimalPattern(locale.toString(), maximumFractionDigits: 2).format(1234.567)

По валюте это работает так:NumberFormat.currency(locale: locale.toString(), decimalDigits: 3).format(1234567)

Ответы

JonnyH Aug 27 2020 at 10:45

Из другого вопроса:

var forFractions = new NumberFormat();

forFractions.minimumFractionDigits = 2;
forFractions.maximumFractionDigits = 2;

format(num n) => forFractions.format(n);

print(format(15.501234));

Итак, создайте свой формат и установите атрибут maximumFractionDigits, затем выполните формат.