apres avoir calculer une moyenne sur des doubles j'aimerais n'avoir que 2 chiffres apres la virgule...on fait comment??
j'ai regarde sur les NumberFormat mais
merci d'avance
apres avoir calculer une moyenne sur des doubles j'aimerais n'avoir que 2 chiffres apres la virgule...on fait comment??
j'ai regarde sur les NumberFormat mais
merci d'avance
Salut,
FAQ : Comment convertir un nombre en chaîne formatée ?
a++
Salut!
J'ai le même problème, mais il se trouve que j'aimerai que la partie des exposants ne soit affichée que lorsque c'est nécessaire.
Je m'explique :
- mon format actuel est le suivant : 3 chiffres pour la partie entière, 2 pour la partie décimale et 2 pour les exposants => "###.##E00"
- si la valeur est comprise entre -1000 et 1000, j'aimerai que la partie "E00" ne soit pas affichée.
- si la valeur est supérieure ou égale à 1000, on affiche la partie "E00"
Un tel mécanisme est-il déjà implémenté ou alors je dois me débrouiller tout seul?
Merci d'avance!
Rien ne t'empeche de créer toi même ton pattern en fonction des valeurs
Ca donnerait un truc comme ça :
String pattern = "###.##";
if(nombre >= 1000){
pattern+="E00";
}
Ps : ou avec les stringbuffer si tu veux faire mieux
Ouais, c'est bien ce que je pensais : y'a pas de syntaxe toute faite qui gère ce cas.
Parce que ça va m'obliger à faire un test pour chaque valeur, et crois-moi, y'en a un paquet, donc ça risque de ralentir mon appli...
Mais bon si y'a que ça, on fera avec...
je ne garantis pas qu'il existe rien ailleurs, c'était juste la première idée qui me venait en tête
Salut,
Pas à ma connaissance, et je ne vois rien de tel dans l'API de DecimalFormat...Envoyé par seiryujay
Il vaut mieux éviter de recréer à chaque fois le pattern et l'objet DecimalFormat et ca devrait être bon...Envoyé par seiryujay
En utilisant deux Pattern de la manière suivante je ne pense pas que la différence d'exécution soit sensible :
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 private static final NumberFormat SIMPLE_FORMAT = new DecimalFormat("###.##"); private static final NumberFormat EXPONENT_FORMAT = new DecimalFormat("###.##E00"); public static String format(double d) { NumberFormat nf; if (-1000.0 < d && d < 1000.0) { nf = SIMPLE_FORMAT; } else { nf = EXPONENT_FORMAT; } return nf.format(d); }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager