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 :

float conversion String


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    oracle
    Inscrit en
    Août 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : oracle
    Secteur : Finance

    Informations forums :
    Inscription : Août 2006
    Messages : 33
    Par défaut float conversion String
    Quand je convertis une chaîne de caractères en float, et je l’utilise dans mes calcule je perds des données après le virgule exemple:

    602.1 – 180 = 422.09998

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Par défaut
    Bonjour,

    Peux-tu montrer ton code ?

    Nicolas

  3. #3
    Membre averti
    Homme Profil pro
    oracle
    Inscrit en
    Août 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : oracle
    Secteur : Finance

    Informations forums :
    Inscription : Août 2006
    Messages : 33
    Par défaut
    float amountHT =602.1f;
    amountHt = Float.parseFloat(text16.getText());
    float fltAmount = 0.0f;

    fltAmount = amountHT - amountHt;

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    les float ne sont pas extrêment précis, remplaces les par des doubles, ou encore mieux de BigDecimal, ça ira tout de suite mieux.

  5. #5
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 889
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 889
    Par défaut
    Une idée serait sans doute d'utiliser l'objet DecimalFormat.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  6. #6
    Membre averti
    Homme Profil pro
    oracle
    Inscrit en
    Août 2006
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : oracle
    Secteur : Finance

    Informations forums :
    Inscription : Août 2006
    Messages : 33
    Par défaut
    Je veux savoir la cause du problème.

  7. #7
    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
    Citation Envoyé par aliomrani1
    Je veux savoir la cause du problème.
    La cause du problème est simplement la représentation binaire d'un flottant... 0.1 ne tombe pas juste en binaire, et il faudrait un nombre infini de bits significatifs pour le représenter. Pas de chance, les floats n'ont pas un nombre infini de bits significatifs (sinon faudrait beaucoup de mémoire), ils n'en ont que 24 (23 + implicite). Donc il y a de la perte...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/06/2007, 10h48
  2. conversion de float en string
    Par Spont dans le forum C
    Réponses: 4
    Dernier message: 15/05/2007, 16h27
  3. conversion string hexa en float
    Par cimson dans le forum Langage
    Réponses: 6
    Dernier message: 25/04/2007, 23h57
  4. Problème de conversion String en Float avec JTable
    Par dumasan dans le forum Composants
    Réponses: 4
    Dernier message: 23/04/2007, 11h56
  5. [Java]Conversion de float en String et inversement
    Par djoukit dans le forum Langage
    Réponses: 7
    Dernier message: 13/10/2005, 11h55

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