Détection d'espace dans un type String

mdrcedrick Messages postés 54 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 22 novembre 2007 - 10 août 2007 à 09:10
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 - 17 août 2007 à 21:13
bonjour voici mon code et je vous explique ensuite mon problème :

String      
prixString         
=        this.maTable.getValueAt(i,7) +
"";

int           
longueur           
=        prixString.length() - 2;

                   

String        mot   
           
    =        "";

for (int j = 0; j < longueur; j++)

{

    if (prixString.substring(j, j+1).trim().equals(""))

    {

        JOptionPane.showMessageDialog(null, "analyse : ESPACE");

    }

    else

    {

        mot   
    +=       
prixString.substring(j, j+1);

        JOptionPane.showMessageDialog(null, "analyse : " + mot);

    }

}


double       
prixDouble        =   
    Double.parseDouble(mot);


en faite je récupère dans ma JTable une prix avec ce format par exemple : 5 957.00 ?

pour pouvoir faire des calcul avec je veux le transformer en double

pour faire celà j'analyse ce prix sur sa longueur - 2 (comme ca j'enlève l'espace et le signe euro)

or dans ma boucle prixString.substring(j, j+1).trim().equals("") il ne me détecte JAMAIS l'espace entre le 5 et le 9

j'ai essayé de faire aussi prixString.substring(j, j+1).equals(" ") mais ca ne marche pas non plus

donc a chaque fois je me retrouve à transformer en double une chaîne de
caractère avec une espace au milieu ... donc il n'aime pas bien et me
sort un erreur :
java.lang.NumberFormatException: For input string: "5 957.00" ...


si vous avez déjà eu le problème ou si vous avez une idée je suis preneur !



don't cross the crocked step

7 réponses

cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
10 août 2007 à 10:39
tu peux supprimer tous les espaces de ton mot :
mot = mot.replaceAll("\\s*", "");
0