Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 11 sur 11
  1. #1
    Membre du Club
    Inscrit en
    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

  2. #2
    Membre actif
    Avatar de David Gimelle
    Profil pro
    Développeur Java
    Inscrit en
    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 : 199
    Points
    199

    Par défaut

    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/

  3. #3
    Membre confirmé Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 30
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2005
    Messages : 245
    Points : 275
    Points
    275

    Par défaut

    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);
    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.

  4. #4
    Membre du Club
    Inscrit en
    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

  5. #5
    Membre du Club
    Inscrit en
    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

  6. #6
    Membre régulier Avatar de Rizzen
    Profil pro Bertrand Merlier
    Inscrit en
    janvier 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Nom : Bertrand Merlier
    Âge : 29

    Informations forums :
    Inscription : janvier 2008
    Messages : 112
    Points : 86
    Points
    86

    Par défaut

    Faut passer par un objet String

    Code :
    String monObjet = resultDouble + " EURO";

  7. #7
    Membre du Club
    Inscrit en
    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?

  8. #8
    Expert Confirmé Sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    avril 2002
    Messages
    13 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : avril 2002
    Messages : 13 204
    Points : 19 154
    Points
    19 154

    Par défaut

    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++

  9. #9
    Membre du Club
    Inscrit en
    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";

  10. #10
    Membre du Club
    Inscrit en
    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);

  11. #11
    Membre du Club
    Inscrit en
    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();

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •