IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

utilisation du type Double


Sujet :

Collection et Stream Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut utilisation du type Double
    Bonjour,
    j ai une valeur declarer en double et la renvoyer comme une chaine cde cara,
    j ai fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double taux= 0d;
    String resul = String.valueOf(taux);
    mais j ai en sortie un chiffre comme 3.2585896589

    comment faire pour qu il prenne seulement deux chiffres apres la virgule?

  2. #2
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Salut.

    Jette un coup d'oeil à la classe DecimalFormat et sa méthode format(double) (héritée de sa classe mère NumberFormat).

    Y'a même un exemmple d'utilisation dans la FAQ.


  3. #3
    Membre éclairé Avatar de Katachana
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 755
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    BigDecimal bd = new BigDecimal(maValeur);
    		BigDecimal bd2= bd.setScale(2,BigDecimal.ROUND_DOWN);
    		maValeur = bd2.doubleValue();

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut ok merci
    je vais me pencher dessus , j aimerai savoir si qund meme sans formatter la valeur :

    ce code :
    est exact dans le sens ou j ai une valeur double et que je veux retourner un String?
    ar j ai une erreur de ce type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1000)

  5. #5
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    C'est quoi l'exception exacte que tu as?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SystemErr     R java.lang.NumberFormatException: empty String
    SystemErr     R 	at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1000)
    SystemErr     R 	at java.lang.Float.parseFloat(Float.java:236)
    je recois une valeur definie comme Double, je cast en float pour faire des operations et apres ce float je le renvoie en String et comme ma valeur finale en String ne s affiche pas dans mon interface, je me demade si c est pas toutes ces conversions qui vont pas.

  7. #7
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Ben à priori tu essaies de parser une chaine vide en Float.

    Peux-tu faire voir ton code histoire qu'on trouve la source du problème?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut
    en fait, je recois un double en entree, et pour eviter tout souci, je cast le double en float et je fais tous mes calcules en float

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public static String getValue(String rate, String ...., String ....) {
     
    float taux  = Float.parseFloat(rate);
     
    float fact = 0f;
    fact= (float) _aaa.getFact() // getFact renvoie une valeur de type Double ;
     
    float finalRate = 0f;
    finalRate = factor * (i / taux); 
     
    String result = String.valueOf(finalRate);

  9. #9
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    A priori, ça viendrait du paramètre rate que tu passe à ta méthode. Faudrait vérifier sa valeur.

    Pourquoi tu passe en float pour tes calculs, ce serait pas plus simple de tout faire directement en double?

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut oui
    effectivement, je pourrai passer tout en Double, ca serait plus logique meme.

  11. #11
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Tu as réglé tes soucis sinon?

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2007
    Messages : 245
    Par défaut oui
    merci, souci regle

  13. #13
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Ok, un p'tit clic sur s'il te plaît.


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

Discussions similaires

  1. utiliser un Decimal format avec un type double
    Par Mobistar dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 07/03/2008, 13h47
  2. arrondi avec type double
    Par la drogue c'est mal dans le forum MFC
    Réponses: 6
    Dernier message: 08/04/2005, 17h51
  3. [HTML]Utilisation du type file
    Par Kuroro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 23/12/2004, 16h12
  4. [LG]Convertir le type double en string
    Par @tom@ dans le forum Langage
    Réponses: 8
    Dernier message: 18/01/2004, 19h20
  5. utilisation du type DATE d'interbase
    Par dibak dans le forum InterBase
    Réponses: 4
    Dernier message: 05/01/2004, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo