Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > APIs > java.util
java.util Vos questions sur les classes du paquetage java.util : Collections et autres structures de données, Date et Calendrier, Properties, expressions régulières, ..., et sur les APIs tierces les concernant.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/03/2008, 20h57   #1
Mobistar
Membre du Club
 
Inscription : janvier 2007
Messages : 245
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 245
Points : 53
Points : 53
Par défaut utiliser un Decimal format avec un type double

Bonjour,
j aimerai si ce code ne vous parait correct

Code :
1
2
3
4
 String result = xx.getMoyenne(); // resultat d une requete en base
double resultDouble = Double.valueOf(result).doubleValue();
 double total = resultDouble * 100
 Double totalBis = new Double(total);
et ce totalBis est renvoyer dans un tableau qui prend un objet donc je cree un nouveau Double.
je me demandai si c etait pas un peu lourd comme code.
Mais bon c est bcp de manipulation de variable recupere en type String et apres je dois faire des calculs de double


maintenant j essaie d utiliser DecimalFormat sur un double pour n avoir que deux chiffres apres la virgule mais j ai une erreur, voir la derniere reponse
Mobistar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 21h36   #2
David Gimelle
Membre confirmé
 
Avatar de David Gimelle
 
Développeur Java
Inscription : janvier 2007
Messages : 79
Détails du profil
Informations personnelles :
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Java

Informations forums :
Inscription : janvier 2007
Messages : 79
Points : 217
Points : 217
Envoyer un message via Yahoo à David Gimelle
C est plus compact comme ca avec l autoboxing de java 5:

String result = xx.getMoyenne(); // resultat d une requete en base
Double totalBis = Double.valueOf(result)*100;

David Gimelle
Developpeur J2EE
http://getj2ee.over-blog.com/
David Gimelle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 21h47   #3
Amine_sas
Membre éclairé
 
Avatar de Amine_sas
 
Étudiant
Inscription : juin 2005
Messages : 245
Détails du profil
Informations personnelles :
Âge : 28
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2005
Messages : 245
Points : 307
Points : 307
Envoyer un message via Yahoo à Amine_sas Envoyer un message via Skype™ à Amine_sas
Salut,
Pour être plus efficace, la ligne:
Code :
double resultDouble = Double.valueOf(result).doubleValue();
peut être remplacée par:
Code :
double resultDouble = Double.parseDouble(result);
Citation:
je me demandai si c etait pas un peu lourd comme code.
Mais bon c est bcp de manipulation de variable recupere en type String et apres je dois faire des calculs de double.
C'est tout a fait normal. Tu dois faire le parsing d'une chaîne pour la convertir en double; dans ton code tu crées inutilement un objet Double pour faire la conversion.
Amine_sas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2008, 09h23   #4
Mobistar
Membre du Club
 
Inscription : janvier 2007
Messages : 245
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 245
Points : 53
Points : 53
Par défaut merci

Oui ca serait plus facile d utiliser Java5 mais les dev ne sont pas fait dans cette version d ou l utilisation du Double..new Double....
merci pour le ParseDouble
Mobistar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2008, 11h27   #5
Mobistar
Membre du Club
 
Inscription : janvier 2007
Messages : 245
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 245
Points : 53
Points : 53
Par défaut possible d ajouter des Double?

voila je dois retourner un Objet de type Double
Or je dois le concaténer avec la devise "EUROS" pour le renvoyer dans le meme objet
par les réponses précédentes, j ai la somme mais ce qui m embete c est la devise
le résultat est de par exemple 100 EUROS
Mobistar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2008, 12h03   #6
Rizzen
Membre régulier
 
Avatar de Rizzen
 
Bertrand Merlier
Inscription : janvier 2008
Messages : 112
Détails du profil
Informations personnelles :
Nom : Bertrand Merlier
Âge : 27

Informations forums :
Inscription : janvier 2008
Messages : 112
Points : 88
Points : 88
Envoyer un message via MSN à Rizzen
Faut passer par un objet String

Code :
String monObjet = resultDouble + " EURO";
Rizzen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2008, 11h32   #7
Mobistar
Membre du Club
 
Inscription : janvier 2007
Messages : 245
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 245
Points : 53
Points : 53
Par défaut oui

mais le souci que mon chiffre maintenant a au mois 6 chiffres après la virgule
comment limiter à deux chiffres?
Mobistar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2008, 11h35   #8
adiGuba
Expert Confirmé Sénior
 
Avatar de adiGuba
 
Homme
Développeur Java/Web
Inscription : avril 2002
Messages : 12 654
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations professionnelles :
Activité : Développeur Java/Web
Secteur : Transports

Informations forums :
Inscription : avril 2002
Messages : 12 654
Points : 22 428
Points : 22 428
Salut,

Citation:
Envoyé par Mobistar Voir le message
mais le souci que mon chiffre maintenant a au mois 6 chiffres après la virgule
comment limiter à deux chiffres?
Comment convertir un nombre en chaîne formatée ?

a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java Présentation de Java SE 7 (commentaires)
adiGuba est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2008, 11h43   #9
Mobistar
Membre du Club
 
Inscription : janvier 2007
Messages : 245
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 245
Points : 53
Points : 53
Par défaut COMME CECI

Code :
1
2
3
4
double result =2000,45826598;
DecimalFormat transform = new DecimalFormat("0.00");
transform.format(result);
String resultTransforme = transform + " EUROS";
Mobistar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2008, 12h18   #10
Mobistar
Membre du Club
 
Inscription : janvier 2007
Messages : 245
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 245
Points : 53
Points : 53
Par défaut j ai cette erreur

Code :
java.text.DecimalFormat@674dc
en faisant :

Code :
1
2
3
4
5
 
DecimalFormat transform = null;
transform = new DecimalFormat("0.00");
double result = Double.parseDouble(tab.get(toto.getToto()).toString());
transform.format(result);
Mobistar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2008, 13h47   #11
Mobistar
Membre du Club
 
Inscription : janvier 2007
Messages : 245
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 245
Points : 53
Points : 53
Par défaut je crois que ja i trouve

Code :
DecimalFormat df = (DecimalFormat)DecimalFormat.getNumberInstance();
Mobistar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 19h49.


 
 
 
 
Partenaires

Hébergement Web