Afficher un chiffre avec un point (JAVA)
Résolu/Fermé
Bonjour,
Dans un programme j'ai besoin d'afficher des double puis de les récupérer modifiés ou non.
Mon problème : Au moment de me les écrire en texte java me met des virgules (3,45) sauf que pour lui un double s'écrit avec un point (3.45) donc quand je récupère le texte dans mes TextField j'ai une exception NumberFormatException...
Comment faire pour lui dire de mettre des points au moment d'écrire les double??
Merci beaucoup!
Dans un programme j'ai besoin d'afficher des double puis de les récupérer modifiés ou non.
Mon problème : Au moment de me les écrire en texte java me met des virgules (3,45) sauf que pour lui un double s'écrit avec un point (3.45) donc quand je récupère le texte dans mes TextField j'ai une exception NumberFormatException...
Comment faire pour lui dire de mettre des points au moment d'écrire les double??
Merci beaucoup!
A voir également:
- Afficher un chiffre avec un point (JAVA)
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Excel trier par ordre croissant chiffre - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Java apk - Télécharger - Langages
3 réponses
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
19 avril 2012 à 22:22
19 avril 2012 à 22:22
À quel moment tu obtiens les virgules ? Car normalement Java est cohérent, s'il affiche des points, il attend des points, et s'il affiche des virgules il attend des virgules !
Tu dois probablement utiliser des méthodes non compatibles pour avoir ce genre d'erreur.
Sinon, il faut regarder dans la classe NumberFormat
Tu dois probablement utiliser des méthodes non compatibles pour avoir ce genre d'erreur.
Sinon, il faut regarder dans la classe NumberFormat
Je suis d'accord avec toi que c'est bizarre!
Quelques précisions :
j'utilise une méthode pour acfficher un solde que je met ensuite dans un JTextField
ma méthode :
le code pour le JTextField:
et la mon solde est écrit avec une virgule dans mon TextField donc quand je fais
j'ai l'exception...
Quelques précisions :
j'utilise une méthode pour acfficher un solde que je met ensuite dans un JTextField
ma méthode :
private double soldeInit; //ensuite le constructeur donne sa valeur a soldeInit public double renvoyerSoldeInit(){ return soldeInit; }
le code pour le JTextField:
DecimalFormat df = new DecimalFormat("0.00"); modifSolde = new JTextField(df.format(b.renvoyerSoldeInit()));
et la mon solde est écrit avec une virgule dans mon TextField donc quand je fais
solde = Double.parseDouble(modifSolde.getText());
j'ai l'exception...
KX
Messages postés
16755
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
19 avril 2012 à 23:44
19 avril 2012 à 23:44
En effet, tes méthodes ne sont pas compatibles ! Si tu utilises le DecimalFormat dans un sens, il faut l'utiliser également en sens inverse pour rester cohérent !
solde = df.parse(modifSolde.getText()).doubleValue();
tarek_dotzero
Messages postés
817
Date d'inscription
jeudi 19 juillet 2007
Statut
Membre
Dernière intervention
12 avril 2022
122
20 avril 2012 à 01:00
20 avril 2012 à 01:00
Bonjour,
Je ne sais pas pour la forme des nombres, mais si on parle du côté des chaines des caractères (dans vos champs JTextFeild), il est possible d'utiliser replace:
Je ne sais pas pour la forme des nombres, mais si on parle du côté des chaines des caractères (dans vos champs JTextFeild), il est possible d'utiliser replace:
solde = Double.parseDouble(modifSolde.getText().replace(",", "."));
freew
Messages postés
172
Date d'inscription
mardi 15 mars 2011
Statut
Membre
Dernière intervention
25 mai 2012
4
20 avril 2012 à 01:14
20 avril 2012 à 01:14
extension (","," .") );
t'as oublié la CLASS *
reformule
extension replace
private double soldeInit;
//ensuite le constructeur donne sa valeur a soldeInit
public double renvoyerSoldeInit(){ return soldeInit; }
sa donne :
private double soldeInit;
//ensuite le constructeur donne sa valeur a soldeInit
public double renvoyerSoldeInit()
{
return soldeInit; }
solde = Double.parseDouble(modifSolde.getText().
{
replace(",", ".")
}
solde = Double.parseDouble(modifSolde.getText(solde = Double.parseDouble(modifSolde.getText ()
}
(replace(",", ".")));));
}
une boucle demie iso
c'est une technique ,si s'affiche erreur remplace la sequance avec une fonction interne avec le point et le virgule
t'as oublié la CLASS *
reformule
extension replace
private double soldeInit;
//ensuite le constructeur donne sa valeur a soldeInit
public double renvoyerSoldeInit(){ return soldeInit; }
sa donne :
private double soldeInit;
//ensuite le constructeur donne sa valeur a soldeInit
public double renvoyerSoldeInit()
{
return soldeInit; }
solde = Double.parseDouble(modifSolde.getText().
{
replace(",", ".")
}
solde = Double.parseDouble(modifSolde.getText(solde = Double.parseDouble(modifSolde.getText ()
}
(replace(",", ".")));));
}
une boucle demie iso
c'est une technique ,si s'affiche erreur remplace la sequance avec une fonction interne avec le point et le virgule