|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Futur Membre du Club
![]() Inscription : juillet 2011 Messages : 99 ![]() |
Bonjour à tous j'essaye de convertir quelques colonnes de type string en float, j'ai utilisé un Tmap et j'ai inséré le code suivant:
Code :
Float.valueOf(row1.SOLDEAVANTTRIMESTRE).floatValue() Citation:
est ce que quelqu'un a une réponse SVP. |
|
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Benoit DurandConsultant en Business Intelligence Freelance Inscription : mars 2005 Messages : 813 ![]() |
Oui la virgule sûrement.
Un replace avant pour changer la , en . devrait faire l'affaire. Il y a peut être des moyens plus intelligents de le faire.
__________________
Pensez à la fonction Recherche |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : juillet 2011 Messages : 99 ![]() |
enfaite, j'ai essayé d’insérer un replace en minuscule, mais je ne connais pas la syntaxe correcte,
j'ai essayé ce code: Code :
new Float(row1.SOLDEAVANTTRIMESTRE.REPLACE(',','.')); Float.parseFloat(row1.SOLDEAVANTTRIMESTRE) |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Salut, la syntaxe suivante devrait marcher :
Code :
Float.valueOf(row1.SOLDEAVANTTRIMESTRE.REPLACE(',', '.'))
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : juillet 2011 Messages : 99 ![]() |
Salut et merci pour la réponse, ça m'a affiché l'erreur suivante:
Exception in component tMap_1 java.lang.NumberFormatException: For input string: "0,00" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222) |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Est ce que tu as bien copié la syntaxe que je t'ai donné ??
J'ai réalisé plusieurs test sur mon poste et ça marche, même avec le "0,00" !! Peut être que l'environnement sur lequel tu travailles à un séparateur de décimal diffèrent de celui de mon environnement. Essai de permuter le point et la virgule et de voir ce que ça donne !!
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : juillet 2011 Messages : 99 ![]() |
Oui mon frere, avec ton code exactement ça donne l'erreur du "0,00" et lorsque je permute entre la virgule et le point ça donne la premiere erreur c a d:
java.lang.NumberFormatException: For input string: "-357,46" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222) |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Ah je vois !!
Essai de créer une colonne de type String, et dans le tMap tu mets juste cette partie : Code :
row1.SOLDEAVANTTRIMESTRE.REPLACE(',', '.')
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : juillet 2011 Messages : 99 ![]() |
ça donne ça
Exception in component tMap_1 java.lang.NumberFormatException: For input string: "0,00" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222) |
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Hhh
ça c'est bizarre, Alors cette fois-ci essai juste ça : En fait je réduis le code pour essayer de localiser le problème.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#11 | ||
|
Membre actif
![]() |
Bonjour,
Essaie de créer cette routine : Code :
__________________
Business Intelligence : Talend, Cognos 8, SAS 9.2, ODI |
||
|
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Inscription : juillet 2011 Messages : 99 ![]() |
ça donne toujours ça:
Exception in component tMap_1 java.lang.NumberFormatException: For input string: "0,00" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1222) |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Est ce que tu peux vérifier si la variabledans laquelle tu lis est de type String ??
Apparemment ce n'est pas le cas !! J'ai l'impression que c'est au moment de lecture que ton erreur apparait et non pas lors de la transformation tMap.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#14 |
|
Futur Membre du Club
![]() Inscription : juillet 2011 Messages : 99 ![]() |
Oui j'ai bien vérifié que c'est String, je t'explique j'ai une table postGres et je veux transformer les colonnes qui contiennent des nombres en float pour lire toute la table et l’insérer dans une autre table PostGres.
la c'est la virgule qui fait le problème. je vais refaire tous ce que tu m'as dit avant et voir apres. |
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() ![]() Mustapha EL HASSAKIngénieur développement logiciels Inscription : août 2009 Messages : 627 ![]() |
Essai de m'envoyer un une capture de ton job + capture de ton tMap + capture des schéma d'entrée et de sortie.
Sinon tu peux m'envoyer le job en entier ce sera mieux !! A toi de voir.
__________________
Le savant qui enseigne le bien aux gens et ne le met pas en pratique, est semblable à la torche qui éclaire en se brûlant. "Mohammed le Messager d’Allah" (que la paix et le salut d'Allah soient sur lui) Mes articles publiés |
|
|
00
|
|
|
#16 |
|
Nouveau Membre du Club
![]() Jef LehembreConsultant en Business Intelligence Inscription : mars 2011 Messages : 41 ![]() |
Une solution alternative :
Lorsque tu importes tes données avec un tInputPostGre, dans la colonne que tu veux convertir tu mets directement le type de variable (Float dans le cas présent) et le tour est joué. De plus après si tu en as besoin string, il sera plus facile de faire un toString()! En espérant que ça t'aide. |
|
|
00
|
|
|
#17 |
|
Futur Membre du Club
![]() Inscription : juillet 2011 Messages : 99 ![]() |
Je m'excuse, pour le temps perdu en faite la bonne instruction est cella :
Code :
Float.valueOf(row1.SOLDEAVANTTRIMESTRE.REPLACE(',', '.')) je m'excuse encore une fois et grand merci pour vous les deux. Résolu. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com