Double aus SQL, Rechnung mit 2 Nachkommastellen gibt kein Ergebnis

  • Hallo, ich stehe vor einem seltsamen problem.


    Ich habe eine SQLite DB, die bestens funktioniert. Darin speichere ich fast ausschließlich "DECIMAL(8.3) NOT NULL) Werte.
    Nun möchte ich diese Werte natürlich auch auslesen und verrechnen.
    Das klappt auch ganz gut, solange ich keine Zahl mit 2 oder mehr Nachkommastellen auslese.


    Gespeichert werden diese Zahlen korrekt in der Datenbank, nur scheint beim verrechnen gewaltig was daneben zu laufen.


    Speichere ich eine Zahl mit 2 oder 3 Nachkommastellen, bekomme ich einfach keinen Wert mehr durch gegeben.


    Hier der code dazu:


    MainActivity, in der die TextViews gefüllt werden:



    DbAdapter Activity, in der Die DB ausgelesen, und die Werte je nach übergebenen cmd Wert verrechnet werden:



    Ich hoffe wirklich, dass einer von euch versteht, warum das so dermaßen abspackt...

  • In deinen Berechnungen parsed du die Ergebnisse auf Integer.


    Beispiel:

    Java
    // cmd==1
    				double tmp = Integer.parseInt(cursor.getString(0));
    // cmd==2
    					array[i] = Integer.parseInt(cursor.getString(0));


    Wo sollen denn da noch Nachkommastellen übrig bleiben? ;)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!