Comment définir le maximumFractionDigits dans un decimalPattern dans Flutter?

Aug 27 2020

En fonction des paramètres régionaux de l'utilisateur, j'affiche les décimales, par exemple: 1234,567 sera dans:

  • États-Unis: 1 234 567
  • NL: 1 234 567

Pour cela, j'utilise: NumberFormat.decimalPattern(locale.toString()).format(1234.567)

Cela fonctionne bien :)

Mais maintenant, je veux définir les chiffres max. Il existe un maximumFractionDigits , mais comment appliquer celui-ci?

Celui-ci ne fonctionne pas: NumberFormat.decimalPattern(locale.toString(), maximumFractionDigits: 2).format(1234.567)

Sur la devise, cela fonctionne comme ceci:NumberFormat.currency(locale: locale.toString(), decimalDigits: 3).format(1234567)

Réponses

JonnyH Aug 27 2020 at 10:45

D'une autre question:

var forFractions = new NumberFormat();

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

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

print(format(15.501234));

Alors, créez votre format et définissez l'attribut maximumFractionDigits puis exécutez le format.