Come impostare il MaximumFractionDigits in un decimalPattern in Flutter?

Aug 27 2020

In base alle impostazioni locali dell'utente, mostro i decimali, ad esempio: 1234.567 sarà in:

  • US: 1.234.567
  • NL: 1.234.567

Per questo uso: NumberFormat.decimalPattern(locale.toString()).format(1234.567)

Funziona bene :)

Ma ora voglio impostare i max-digets. C'è un MaximumFractionDigits , ma come applicarlo?

Questo non funziona: NumberFormat.decimalPattern(locale.toString(), maximumFractionDigits: 2).format(1234.567)

Sulla valuta funziona così:NumberFormat.currency(locale: locale.toString(), decimalDigits: 3).format(1234567)

Risposte

JonnyH Aug 27 2020 at 10:45

Da un'altra domanda:

var forFractions = new NumberFormat();

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

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

print(format(15.501234));

Quindi, crea il tuo formato e imposta l'attributo maximumFractionDigits, quindi esegui il formato.