Ich arbeite an Rating Bar in Android, in dem der Wert von Rating aus dem Web Service abgerufen wird. Die Daten, die ich bekomme, sind in Form von XML wie folgt.NumberFormatException in Parsing String, um für Rating Bar Float?
5,0
Zum Zeitpunkt des Abrufens ich die xml bin Parsen und alle Werte in String zu bekommen. Jetzt konvertiere ich den Wert von String in Float für Ratings, aber zu diesem Zeitpunkt erhalte ich NumberFormatException. Ich weiß nicht warum, ich habe andere Daten von String zu Double analysiert, aber ich habe zu diesem Zeitpunkt keinen Fehler bekommen, aber wenn ich versuche, von String zu Float zu konvertieren, weiß ich nicht, warum es eine Ausnahme auslöst ...
Hier ist mein Beispielcode.
ArrayList<HashMap<String, Object>> mylist = new ArrayList<HashMap<String, Object>>();
try {
//Get the xml string from the server
xml = XMLFunctions.getXML(url);
doc = XMLFunctions.XMLfromString(xml);
nodes = doc.getElementsByTagName("result");
for (int i = 0; i < nodes.getLength(); i++) {
HashMap<String, Object> map = new HashMap<String, Object>();
Element e = (Element)nodes.item(i);
map.put(Constants.NAME, XMLFunctions.getValue(e, "name"));
System.out.println("Rating = " + XMLFunctions.getValue(e, "rating"));
map.put(Constants.RATING, (Float.parseFloat(XMLFunctions.getValue(e, "rating"))));
mylist.add(map);
}
noch einmal zu versuchen: -
String ratingValue = XMLFunctions.getValue(e, "rating");
System.out.println(ratingValue);// it gives me 5.0
float myRating = 0.0f;
myRating = Float.parseFloat(ratingValue); // getting exception here
System.out.println("Rating = **" + myRating + "**");//it gives me Rating = **5.0**
Fehlerprotokoll: -
04-01 08:44:59.986: I/System.out(382): Rating = 5.0
04-01 08:45:00.056: W/System.err(382): java.lang.NumberFormatException:
04-01 08:45:00.056: W/System.err(382): at org.apache.harmony.luni.util.FloatingPointParser.parseFloat(FloatingPointParser.java:305)
04-01 08:45:00.065: W/System.err(382): at java.lang.Float.parseFloat(Float.java:323)
04-01 08:45:00.065: W/System.err(382): at place.locator.PlaceLocatorActivity$ParseXMLData.doInBackground(PlaceLocatorActivity.java:173)
04-01 08:45:00.065: W/System.err(382): at place.locator.PlaceLocatorActivity$ParseXMLData.doInBackground(PlaceLocatorActivity.java:1)
04-01 08:45:00.065: W/System.err(382): at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-01 08:45:00.065: W/System.err(382): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
04-01 08:45:00.065: W/System.err(382): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
04-01 08:45:00.065: W/System.err(382): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
04-01 08:45:00.065: W/System.err(382): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
04-01 08:45:00.065: W/System.err(382): at java.lang.Thread.run(Thread.java:1019)
Ich weiß nicht, wo ich Fehler mache. Wenn irgendjemand es entdecken kann, lass es mich bitte wissen. Ich weiß, es muss ein dummer Fehler sein, aber einige sind nicht in der Lage, es zu erkennen.
Dank
verwenden Wie können wir wissen, dass der Wert von „Bewertung“ ist nicht „Kumquat“? –
Es tut mir leid, aber ich bekomme Ihre Frage nicht? – Prem
was gibt XMLFunctions.getValue (e, "rating") zurück. ich meine String oder irgend etwas anderes – Ishu