Modèle DecimalFormat
public static String formatAmountUpToTwoDecimalNumber(String amount)
{
if(amount==null || "".equals(amount))
{
return "";
}
Double doubleAmount = Double.valueOf(amount);
double myAmount = doubleAmount.doubleValue();
NumberFormat f = new DecimalFormat("###,###,###,###,##0.00");
String s = f.format(myAmount);
return s;
}
"###,###,###,###,##0.00"
Ce qui est exactement le but de ce schéma ? Je crois qu'il sert à deux fins
- pour les numéros de groupe, qui est mis mille séparateur virgule
- pour ajouter deux zéros après la virgule si la décimale est manquant qui est de les convertir 23 23.00
Mais pourquoi il n'y a "0"
au lieu de "#"
avant la virgule? quel est exactement le but de ce zéro?
Merci pour l'aide.
source d'informationauteur Zohaib
Vous devez vous connecter pour publier un commentaire.
À partir de: http://docs.oracle.com/javase/7/docs/api/java/text/DecimalFormat.html
Donc
#
ne s'affiche pas lorsqu'il n'y a pas de numéro. Le premier0
signifie qu'il y aura au moins 1 chiffre avant la virgule comme séparateur.#
va mettre un chiffre seulement si elle n'est pas un zéro.0
va mettre un chiffre, même si c'est une fuite de zéro. Vous pouvez utiliser des zéros devant, trop, si vous vouliez un nombre fixe de chiffres imprimés.Avec le zéro avant la dp, le petit nombre comme 0.23 sera affiché comme de 0,23. Sans elle, vous n'obtiendrez pas le zéro, c'est juste affiché comme .23. Si vous avez une feuille de calcul comme excel vous pouvez le vérifier là aussi.