Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL > Talend
Talend Forum d'entraide sur Talend (Talend Open Studio, ...). Avant de poster --> FAQ Talend, Tutoriels Talend
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/03/2011, 11h35   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 100
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 100
Points : 7
Points : 7
Par défaut Conversion String to Double -Error : java.lang.NumberFormatException: empty String

Bonjour

Je suis débutante avec TALEND

J'ai un champ de type de chaine de caractère (String) en entrée et avec Tmap je veux le transformer en Double.

J'ai essayé plusieurs méthode tell que :

Code :
Double.parseDouble(monchamp)
et
Code :
Double.valueOf(row1.quantity.replaceAll("^-","").split("\\D",2)[0])
mais à chaque fois, ça me génère la même erreur :
Citation:
java.lang.NumberFormatException: empty String
un.misc.FloatingDecimal.readJavaFormatString(Unknow
Source)
at java.lang.Double.parseDouble(Unknown Source)
Avez vous réussi avant à convertir un string vers un double SVP ??,

ça m'aidera vraiment

Merci d'avance
delilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 11h41   #2
Membre extrêmement actif
 
Avatar de jojodu31
 
Inscription : mars 2008
Messages : 870
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2008
Messages : 870
Points : 733
Points : 733
Salut,
empty String = ta chaine est vide, vérifie donc tes chaines d'entrées pour qu'elles ne soient pas vides et c est bon
__________________
Heureux soient les fêlés, car ils laisseront passer la lumière.

Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
jojodu31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 12h09   #3
Invité régulier
 
Inscription : janvier 2011
Messages : 100
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 100
Points : 7
Points : 7
désolé, mais ma chaine de caracter n'est pas vide
delilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 12h35   #4
Invité régulier
 
Inscription : janvier 2011
Messages : 100
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 100
Points : 7
Points : 7
Quand j'ai rajouté ce code pour la ligne de sortie

Code :
1
2
3
4
IF((row1.monchampString.equals(""))==false){
 
               Double.valueOf(row1.Moy2.replaceAll("^-","").split("\\D",2)[0]);
}
ça me génére une erreur pendant la compilation :

Citation:
Systaxe error tokens (s), misplaced constructs


on ne peut pas utiliser les if ???

ou il faut faire ça dans une variable globaleµ??


Avez vous une idée SVP ??,

Merciii beaucoup d'avance
delilou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2011, 14h09   #5
Membre actif
 
Consultant informatique
Inscription : mars 2003
Messages : 130
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2003
Messages : 130
Points : 181
Points : 181
en effet les if ne marche pas, dans les tmap il faut mettre une expression qui retourne une valeur.

il faut utiliser cet syntaxe :

Citation:
(condition) ? "valeur si vrai" : "valeur si fausse"
plus d'info ici :
http://www.ibiblio.org/java/course/week2/43.html
kisskool45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h59.


 
 
 
 
Partenaires

Hébergement Web