Ich habe NumberFormatException, wenn ich versuche, eine Zeichenfolge in Double zu konvertieren. Es scheint, dass ich den richtigen Weg habe, es zu tun, aber die Ausnahme immer noch auftaucht. Es hat mich wirklich verrückt gemacht, als ich letzte Woche versucht habe. Hier ist, was ich versuche zu tun:String kann nicht in Double konvertiert werden mit DoubleParse
String csvFile="N:/Downloads/Chrome Downloads/GeoIPCountryWhois.csv";
BufferedReader br=null;
String line="";
String cvspl=",";
try{
for(int i=0;i<5000;i++)
{
//System.out.println("I'm here in retriving IP");
br=new BufferedReader(new FileReader(csvFile));
while ((line=br.readLine())!=null){
String[] country=line.split(cvspl);
l.add(country[0]);
double a = Double.parseDouble(country[2]);
double b = Double.parseDouble(country[3]);
IpParameters p = new IpParameters(a, b);
IP.put(country[0], p);
}
}
}catch(FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}finally{
if (br !=null){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
} }
ich erfolgreich die Zahlen aus der Datei abrufen bin. Wenn ich Land [2] ausdrücke, zeigt es den Wert an, der in diesem Index gespeichert wird.
versuchen Sie mit 'Double.parseDouble (country [2] .trim())'. –
Können Sie uns den Wert anzeigen, den Sie analysieren möchten, und vielleicht die Zeile in der Datei? Jorn mag recht haben - wenn es Leerzeichen gibt, würde die Ausnahme ausgelöst werden. –
Offtopic: Ich schlage vor, die Try-mit-Ressource-Syntax zu verwenden. –