Transformer la virgule par un point dans un double
Résolu
Adriang19
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
Adriang19 Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Adriang19 Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je début en java, et je galère sur un problème qui semble simple. Je souhaite transformer la virgule d'un double, par un point mais sans perdre de valeur: en effet j'ai réussi avec la fonction "replace", mais lorsque le nombre contient des zéros derrière la virgule, ceux-ci disparaissent. Je souhaite également garder un nombre avec 4 chiffres après la virgule (ou le point). Voici mon code:
double d=24.0000000;
DecimalFormat df = new DecimalFormat("#0.0000");
String dformaté=df.format(d);
System.out.println(dformaté);
String dformaté2 = dformaté.replace(",","." );
double dd=Double.parseDouble(dformaté2);
System.out.println(dd);
En sortie j'obtient:
24,0000
24.0
Je souhaiterai obtenir: 24.0000
Une solution?
Merci d'avance :)
Je début en java, et je galère sur un problème qui semble simple. Je souhaite transformer la virgule d'un double, par un point mais sans perdre de valeur: en effet j'ai réussi avec la fonction "replace", mais lorsque le nombre contient des zéros derrière la virgule, ceux-ci disparaissent. Je souhaite également garder un nombre avec 4 chiffres après la virgule (ou le point). Voici mon code:
double d=24.0000000;
DecimalFormat df = new DecimalFormat("#0.0000");
String dformaté=df.format(d);
System.out.println(dformaté);
String dformaté2 = dformaté.replace(",","." );
double dd=Double.parseDouble(dformaté2);
System.out.println(dd);
En sortie j'obtient:
24,0000
24.0
Je souhaiterai obtenir: 24.0000
Une solution?
Merci d'avance :)
A voir également:
- Remplacer virgule par point python
- Remplacer disque dur par ssd - Guide
- Citizen code python avis - Accueil - Outils
- Remplacer par word - Guide
- Point de suite word - Guide
- Point de restauration - Guide
1 réponse
Bonjour,
C'est un problème d'internationalisation, Java voit que ton ordinateur est en français, donc il fait la conversion avec le séparateur décimal français (la virgule), si tu veux un point, il faut passer en langue anglaise.
Exemple pour DecimalFormat :
Remarque : DecimalFormat n'est pas vraiment utile ici, on peut directement utiliser la classe String.
C'est un problème d'internationalisation, Java voit que ton ordinateur est en français, donc il fait la conversion avec le séparateur décimal français (la virgule), si tu veux un point, il faut passer en langue anglaise.
Exemple pour DecimalFormat :
df.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.ENGLISH));
Remarque : DecimalFormat n'est pas vraiment utile ici, on peut directement utiliser la classe String.
double d = 24.0000000; String s = String.format(Locale.ENGLISH, "%.4f", d); System.out.println(s); // 24.0000 double dd = Double.parseDouble(s); System.out.println(dd); // 24.0
Adriang19
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
Merci beaucoup!!! :)