T
Tom299
Stammgast
- 122
Hallo,
ich bin gerade über einen Fehler im DB Cursor gestolpert. Getestet unter Android 2.3.1. Vielleicht kann dies jemand bestätigen:
- in der DB hat man eine Spalte als Double angelegt -> z.b. Spaltenname "Wert"
- zuerst läßt man den Wert auf null
- danach man weist den Wert 1234.1234 zu (also mehr als 2 Nachkommastellen)
Nun frage ich die Spalte ab:
1. Versuch:
- Double dWert = c.getDouble(c.getColumnIndex("Wert"));
--> wenn der Wert null ist, bekomme ich leider 0.0 zurück. da man ein double und kein Double zurückbekommt, ist das wohl logisch. ich muß aber zwischen null und 0.0 unterscheiden können, also keine Eingabe oder eine Eingabe, die auch 0.0 sein könnte
--> wenn der Wert 1234.1234 ist, bekommt man 1234.1234 zurück -> OK
und jetzt kommt der eigentliche Fehler:
2. Versuch:
- String sWert = c.getString(c.getColumnIndex("Wert"));
--> wenn der Wert null ist, bekommt man null zurück -> OK
--> wenn der Wert 1234.1234 ist, bekommt man nur 1234.12 zurück -> Fehler
Hat schon mal jemand diesen Fehler gehabt oder weiß, ob das mit einer späteren Version behoben ist?
Für mich ist das jedenfalls ein klarer Fehler, denn der String wird nach der 2. Nachkommastelle abgeschnitten ...
ich bin gerade über einen Fehler im DB Cursor gestolpert. Getestet unter Android 2.3.1. Vielleicht kann dies jemand bestätigen:
- in der DB hat man eine Spalte als Double angelegt -> z.b. Spaltenname "Wert"
- zuerst läßt man den Wert auf null
- danach man weist den Wert 1234.1234 zu (also mehr als 2 Nachkommastellen)
Nun frage ich die Spalte ab:
1. Versuch:
- Double dWert = c.getDouble(c.getColumnIndex("Wert"));
--> wenn der Wert null ist, bekomme ich leider 0.0 zurück. da man ein double und kein Double zurückbekommt, ist das wohl logisch. ich muß aber zwischen null und 0.0 unterscheiden können, also keine Eingabe oder eine Eingabe, die auch 0.0 sein könnte
--> wenn der Wert 1234.1234 ist, bekommt man 1234.1234 zurück -> OK
und jetzt kommt der eigentliche Fehler:
2. Versuch:
- String sWert = c.getString(c.getColumnIndex("Wert"));
--> wenn der Wert null ist, bekommt man null zurück -> OK
--> wenn der Wert 1234.1234 ist, bekommt man nur 1234.12 zurück -> Fehler
Hat schon mal jemand diesen Fehler gehabt oder weiß, ob das mit einer späteren Version behoben ist?
Für mich ist das jedenfalls ein klarer Fehler, denn der String wird nach der 2. Nachkommastelle abgeschnitten ...