Como definir o maximumFractionDigits em um decimalPattern no Flutter?

Aug 27 2020

Com base na localidade do usuário, mostro decimais, por exemplo: 1234.567 estará em:

  • US: 1.234.567
  • NL: 1.234.567

Para isso eu uso: NumberFormat.decimalPattern(locale.toString()).format(1234.567)

Isso funciona bem :)

Mas agora eu quero definir os dígitos máximos. Existe um maximumFractionDigits , mas como aplicar este?

Este não funciona: NumberFormat.decimalPattern(locale.toString(), maximumFractionDigits: 2).format(1234.567)

Na moeda funciona assim:NumberFormat.currency(locale: locale.toString(), decimalDigits: 3).format(1234567)

Respostas

JonnyH Aug 27 2020 at 10:45

De outra pergunta:

var forFractions = new NumberFormat();

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

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

print(format(15.501234));

Portanto, crie seu formato e defina o atributo maximumFractionDigits e execute o formato.