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

Langage Java Discussion :

Convertion Double vers String


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut Convertion Double vers String
    Bonjour à tous,

    J'aimerias convertir un double en String.
    J'ai essayé de plusieurs façons mais :
    Dans un cas, il me met la notation scientifique en String.
    Dans un autres cas, il me donne la valeur non réelle, par exemple si j'ai un double avec comme valeur 123456789123456789.123 il me fait un String du style 123456789123456789.1230000000000045800197

    Mon problème n'est bien sur que sur les grandes valeur de double.

    Merci de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 87
    Par défaut
    Tu utilises la méthode String.valueOf(double) ?

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 10
    Par défaut
    Avec la génération de sortie formatée.
    Voir la classe java.util.Formatter pour avoir plus d'informations.

  4. #4
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Salut,

    Que tu prennes double ou float tu auras toujours des approximations sur le rendu des valeurs.

    Pour éviter celà il faut utiliser la classe BigDecimal. Et pour avoir un format de sortie correct, utiliser la classe DecimalFormat.

    A+

  5. #5
    Membre averti
    Inscrit en
    Août 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Août 2006
    Messages : 29
    Par défaut
    Merci à tous de votre réactivité.

    Voici le code (simple) que j'utilise (merci thibaut) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    BigDecimal b=new BigDecimal(val);
    java.text.DecimalFormat df=new java.text.DecimalFormat();
    String Res=df.format(val);
    Si val = 1234.1234, le String est bien "1234.1234"
    Si val = 123456789123456789.1234, le String est "123 456 789 123 456 784" ?

    Même si dans l'absolue, il est très rare de rencontrer de tel nombres, j'aimenrais pouvoir faire un traitement global.

    Je suis en train de faire une classe pour stocker les nombres double sous forme "simplifiée" dans une base de données :
    Plutôt que de stocker 1234.1234, je stock dans la base 12341234 et dans une table je sais que le champs A à 4 décimales donc je peut reconstrure mon double.
    Le but est de ne pas s'embeter avec l'international et les différents format de nombre. Pouvoir avoir la même base de donnée partagée entre plusieurs pays.

    Merci à tous

  6. #6
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Tu prends BigDecimal en java et BigDecimal en base de données, ça existe aussi il me semble...

  7. #7
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Citation Envoyé par ®om
    Tu prends BigDecimal en java et BigDecimal en base de données, ça existe aussi il me semble...
    Non je crois que BigDecimal est mappé vers NUMBER.

Discussions similaires

  1. Convertion E9 vers String
    Par Ho(c)ine. dans le forum Langage
    Réponses: 2
    Dernier message: 03/12/2008, 05h57
  2. convertion hex vers string
    Par mmarcoboss dans le forum Débuter
    Réponses: 5
    Dernier message: 11/01/2008, 08h03
  3. convertion Double -> String
    Par laurent.c123 dans le forum Langage
    Réponses: 4
    Dernier message: 03/07/2007, 15h08
  4. convertion d'un string en double
    Par tetedeturcq dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/06/2007, 15h09
  5. Réponses: 4
    Dernier message: 06/05/2005, 13h37

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