1
Talend를 사용하여 ETL 프로젝트를 만들고 있습니다. 내 문자열을 Double로 변환하려면 Float.parseFloat (row4.Exportation2.trim())을 사용하십시오. 이 오류는이 오류를 제공합니다. 내 데이터가 "766,9997474" "1 345,43"(수출 2) 인 모양입니다. 이유를 알고있는 사람이 있습니까? 여기Talend 문자열을 Float으로 변환합니다.
Démarrage du job ConvertString a 14:03 27/01/2017.
Exception in component tMap_1
java.lang.NumberFormatException: For input string: "23,4897452"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at sun.misc.FloatingDecimal.parseDouble(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at last.convertstring_0_1.ConvertString.tFileInputDelimited_1Process(ConvertString.java:1553)
at last.convertstring_0_1.ConvertString.runJobInTOS(ConvertString.java:2075)
at last.convertstring_0_1.ConvertString.main(ConvertString.java:1932)
[statistics] connecting to socket on port 3464
[statistics] connected
6|Royaume-Uni|BA|1971|23,4897452
[statistics] disconnected
Job ConvertString terminé à 14:03 27/01/2017. [Code sortie=1]
으로 대체해야하는 String의 표준이 아닌 공간 안녕하세요, 내가 유일하게 지금까지 일을 대체 않았다가
yourString.replaceAll(",", "."))
사용해야하고 난 몰라 내가 어떻게 이 결과를 고칠 수 있습니다 1 527.18 – Strix
입력 내용에 공백이 있으므로 replaceAll 메서드를 두 번 호출해야합니다 (한 번은 쉼표로, 다른 한 번은 공백으로 ""로 바꿉니다) – Corentin
나는이 row3.Exportation2.replaceAll (",", "."). replaceAll ("", "")하지만 결과는 바뀌지 않습니다. 1 527.18 여전히 동일 – Strix