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 :

Convertir complètement un double en String


Sujet :

Langage Java

  1. #1
    Membre régulier Avatar de BoudBoulMan
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 100
    Points : 116
    Points
    116
    Par défaut Convertir complètement un double en String
    Bonjour à tous. Alors je me demande comment je peux convertir un double en String sans qu'il n'y ait de troncature.

    Voici un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String sNombre;
    double nombre = 658.452658956887598655555;
    sNombre = Double.valueOf(nombre).toString();
     
    System.out.println("Le nombre: " + sNombre);
    Et le String à la place de contenir le double en entier, il en contient que 658.4526589568876. Ainsi, j'obtiens la sortie suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le nombre: 658.4526589568876
    Quelqu'un pourrait-il m'indiquer comment remédier à ce problème?

  2. #2
    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
    Points : 3 080
    Points
    3 080
    Par défaut
    C'est dû à la représentation en mémoire d'un double...
    (1 bit de signe, 11 bits d'exposant, 52 bits de mantisse)

    Donc la précision pour un exposant de 1 est de log (2^52) (ou encore = 52 * ln 2 / ln 10) = 15,65 (donc 15) chiffres significatifs en base 10.

    Si tu veux stocker plus de décimales, utilise BigDecimal...

  3. #3
    Membre régulier Avatar de BoudBoulMan
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    100
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 100
    Points : 116
    Points
    116
    Par défaut
    Ok, merci beaucoup

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

Discussions similaires

  1. Convertir et formater un Double en String
    Par Faiche dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 25/06/2009, 14h48
  2. convertir un tableau de type string en type double
    Par saraenim dans le forum Windows Forms
    Réponses: 8
    Dernier message: 12/05/2008, 15h45
  3. Réponses: 2
    Dernier message: 19/05/2007, 20h51
  4. [LG]Convertir le type double en string
    Par @tom@ dans le forum Langage
    Réponses: 8
    Dernier message: 18/01/2004, 19h20

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