Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : détection d'espace dans un type String [ Divers / Général ] (mdrcedrick)

vendredi 10 août 2007 à 09:10:50 | détection d'espace dans un type String

mdrcedrick

Membre Club
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

vendredi 10 août 2007 à 10:39:03 | Re : détection d'espace dans un type String

AlexN

tu peux supprimer tous les espaces de ton mot :
mot = mot.replaceAll("\\s*", "");

vendredi 10 août 2007 à 11:08:38 | Re : détection d'espace dans un type String

mdrcedrick

Membre Club
non ca ne marche pas plus j'ai le même résultat


don't cross the crocked step

vendredi 10 août 2007 à 12:01:07 | Re : détection d'espace dans un type String

AlexN

et ça ?

    public static void main(String[] args){
        String mot ="  5      957     .      00  ";
        mot = mot.replaceAll("\\s*", "");
        System.out.println("mot = " + mot);
        double prixDouble =  Double.parseDouble(mot);
        System.out.println(prixDouble);
    }

sinon change de marque de café...



samedi 11 août 2007 à 13:23:29 | Re : détection d'espace dans un type String

GodConan

pour effacer un caractere tu peux faire un truc du genre

int idx = string.indexOf( tonCaractere );
if ( idx >= 0 )
{
nouveauMot = mot.subString( 0, idx ) + mot.subString( idx+1 ); 
}

ca ca marche c est sur ;o) pour le replace il me semble qu il faut obligatoirement un carac de remplacement (me souvien plus trop en fait ;o) )

ceci dit ;o) si c est pour un effet de rendu dans la JTable c est sur le renderer qu il faut agir ...  
GodConan ;o)

jeudi 16 août 2007 à 14:45:58 | Re : détection d'espace dans un type String

mdrcedrick

Membre Club
j'ai essayé toutes vos méthodes mais rien ne fonctionne
ta méthode GodConan me retourne -1 c'est à croire qu'il ne s'agit pas d'une espace
il y a-t-il un moyen de retourner l'unicode d'un caractère afin de pouvoir faire une comparaison à ce niveau car
for (int j = 0; j < longueur; j++)
{
String    lettre    =    prixString.substring(j, j+1);
                       
if (!lettre.equals(" "))
    mot        +=        prixString.substring(j, j+1);
}

ne fonctionne absolument pas

si j'arrive à savoir quel est l'unicode de ce fameux caractère peut-etre que ca deviendra plus simple


don't cross the crocked step

jeudi 16 août 2007 à 23:20:27 | Re : détection d'espace dans un type String

GodConan

c est bien ce que je dit le probleme ce situe au nivo du rendu ...

GodConan ;o)

vendredi 17 août 2007 à 21:13:37 | Re : détection d'espace dans un type String

AlexN

J'aurais deux suggestions :

Pourquoi mettre l'espace et le symbole euros dans la zone de saisie alors qu'ils seraient mieux comme texte suivant cette zone ? Que se passe-t-il si l'utilisateur efface le symbole ou l'espace ?

getValueAt renvoie une instance de la classe Object. La forme de transtypage que tu as utilisé (Object + "") autorise la machine à faire selon ce qu'elle juge le mieux. Tu peux imposer le type de cet objet :

Object value = getValueAt(row, col);
String string = (value != null && value instanceof String) ?  (String) value : "";

soit

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

sinon : [ Lien ]



Cette discussion est classé dans : string, mot, espace, substring, prixstring


Répondre à ce message

Sujets en rapport avec ce message

Comment alimenter une jComboBox dynamiquement à partir d'un ordre sql ? [ par jojo6666 ] Bonjour,J'essaie depuis un certain temps (j'hésite à dire plusieurs jours) d'alimenter une jComboBox de façon dynamique.Je m'explique : Je veux alimen Problème de connexion via DriverManager, ne répond pas quand mauvais mot de passe [ par giordans ] Bonjour, j'ai un problème avec une connexion à un AS400.J'utilise DriverManager.getConnection(String url, String user, String password). Mon problème comparaison des chaînes de caractères [ par amelA ] bonjour,comment pourrai je comparer deux chaînes de caractères?sachant que j'ai eu les deux chaînes de caractères de la manière suivante://le premier Probleme dans un code [ par Bosveltinho ] J'ai fait une classe qui convertit un fichier texte en String. La classe qui suit a pour but de traduire mot à mot du langage assembleur en langage bi encore des problèmes de string... [ par lafolle24320 ] mdr ... Non en fait j'ai un string qui ressemble à çà " 1" --> l'espace avant le 1 est important ensuite je fais çà : int numMolecule = Integer.parseI boucle dans arrayList [ par essira ] Bonjour, j'ai un programme qui lit un fichier texte ligne par ligne. A partir d'une certaine indication, il sépare les lignes en 15 string différentes substring [ par casporov ] bonjour,j'ai une question concernant le Substringj'ai tout d'abord une variable String dont le length est 9000 caracteresje dois la diviser en deux va méthode substring [ par dunith ] bonjourj'ai déjà poser des questions de même sujet, mais je suis bloquée, pour avancer dans mon projet:j'ai une chaine de caracètre de type string (St beans et gestionnaire [ par Nollla ] salutbon j 'ai un probleme de compilation j 'ai fais le beans suivant dans un packatage public class Administrateur{final int id_ad;private String log Souci de comparaison entre 2 String avec substring [ par Boowiss ] Bien le bonjour à vous :Donc je voudrais avoir quelques renseignements actuellement, je développe une sorte de "msn" perso, en java, dont les trames s


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.