Séparateur de millier [JXL]

Antoine25420 - 22 mai 2015 à 14:12
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 23 mai 2015 à 11:44
Bonjour,
Je récupère des valeurs dans un fichier excel (.xls) sous forme de string.
En faisant un Integer.parseInt() ou Long.parseLong() sur un string "512" ça va...
Mais quand j'ai des strings sous cette forme : 14 600, 30 150 etc...
J'ai un problème pour transformer... J'ai fais un try catch et j'ai trouvé que le problème proviens de l'espace.
J'ai déjà essayé les replaceAll(" ", ""), des boucles avec des charAt, j'ai juste l'impression que le caractère entre 14 et 600 (ex:14 600) n'est pas un caractère espace ' '...
Alors ma question est la suivante :
qu'elle est ce caractere? Histoire que je le supprime avec un replace, ou bien existe t'il un autre moyen pour additionner des string que de les tranformer en chiffre int ou long ou double ?

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 127
23 mai 2015 à 11:44
Bonjour,

j'ai juste l'impression que le caractère entre 14 et 600 (ex:14 600) n'est pas un caractère espace ' '...
Tu peux le vérifier en affichant tous les caractères de ton String (l'espace usuel est le caractère 32)

String str = "14 600";
for (int i=0; i<str.length(); i++)
    System.out.println((int) str.charAt(i)+"\t"+str.charAt(i));

Tu peux également utiliser des expressions régulières avec replaceAll, ce qui permet de supprimer tous les espaces \s

str = str.replaceAll("\\s", "");

On peut même y aller encore plus violemment en supprimant tout ce qui n'est pas des chiffres \D

str = str.replaceAll("\\D", "");
0
Rejoignez-nous