mdrcedrick
Messages postés54Date d'inscriptiondimanche 12 septembre 2004StatutMembreDernière intervention22 novembre 2007
-
10 août 2007 à 09:10
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 2014
-
17 août 2007 à 21:13
bonjour voici mon code et je vous explique ensuite mon problème :
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 !
cs_AlexN
Messages postés694Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention 8 janvier 201419 17 août 2007 à 21:13
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 : "";