Problème avec les double en java
Fermé
geninfo25
Messages postés
10
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2012
-
24 janv. 2012 à 09:37
geninfo25 Messages postés 10 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 25 janvier 2012 - 24 janv. 2012 à 14:29
geninfo25 Messages postés 10 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 25 janvier 2012 - 24 janv. 2012 à 14:29
A voir également:
- Problème avec les double en java
- Double ecran - Guide
- Whatsapp double sim - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
4 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
24 janv. 2012 à 12:58
24 janv. 2012 à 12:58
Tu peux t'en sortir directement à l'affichage :
double d = 2.1036451845; System.out.printf("%.2f\n",d);
geninfo25
Messages postés
10
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2012
24 janv. 2012 à 13:11
24 janv. 2012 à 13:11
mais je veux afficher le résultat dans une jtextfield (jtextfield1.settext(String.valueof(d)))
ou d est le nombre 0.1025469875
ou d est le nombre 0.1025469875
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
24 janv. 2012 à 13:22
24 janv. 2012 à 13:22
Il te suffit d'enlever les chiffres qui t'embêtent (je détaille, mais on peut faire ça en 3 lignes) :
double d = 0.125; String s = String.valueOf(d); int pos = s.indexOf('.')+1; int sz = s.length(); int n = Math.min(pos+2, sz); String txt = s.substring(0,n); jtextfield1.setText(txt);
geninfo25
Messages postés
10
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2012
Modifié par geninfo25 le 24/01/2012 à 13:49
Modifié par geninfo25 le 24/01/2012 à 13:49
je pense tu n'a pas me compris le nombre 0.1025..... c'est un exemple stt ,
mais moi je veux écrire des nombre double avec deux chiffres âpre la virgule c'est ça mon problème ces nombres peuvent être 0.154875852 comme ils peuvent être 4587.12544658 etc et moi je veux les écrire comme ça 0.15 et 4587.12
mais moi je veux écrire des nombre double avec deux chiffres âpre la virgule c'est ça mon problème ces nombres peuvent être 0.154875852 comme ils peuvent être 4587.12544658 etc et moi je veux les écrire comme ça 0.15 et 4587.12
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
24 janv. 2012 à 13:59
24 janv. 2012 à 13:59
C'est plutôt toi qui n'a pas compris le code que j'ai fait je pense...
Car tu as juste à remplacer la valeur de d de départ pour que ça aille correctement !
Je fais une fonction ce sera peut-être plus clair :
Version condensée :
Exemple :
Car tu as juste à remplacer la valeur de d de départ pour que ça aille correctement !
Je fais une fonction ce sera peut-être plus clair :
/** * @param d le double à convertir * @param nb le nombre de chiffres après la virgule * @return le String représentant d avec nb chiffres après la virgule */ public static String doubleToString(double d, int nb) { String s = String.valueOf(d); int pos = s.indexOf('.')+1; int sz = s.length(); int n = Math.min(pos+nb, sz); String txt = s.substring(0,n); return txt; }
Version condensée :
public static String doubleToString(double d, int nb) { String s = String.valueOf(d); return s.substring(0,Math.min(s.indexOf('.')+1+nb, s.length())); }
Exemple :
jtextfield1.settext(doubleToString(4587.12544658,2));
geninfo25
Messages postés
10
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
25 janvier 2012
24 janv. 2012 à 14:29
24 janv. 2012 à 14:29
merci ami