Announcement

Collapse
No announcement yet.

Double in MIDLet

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Double in MIDLet

    Hallo,
    ich entwickle gerade eine einfache Test-Anwendung (Verbrauchsrechner)für mein Nokia-Handy unter Verwendung von JBuilder 9.
    Die Anwendung steht bereits, doch jetzt habe ich (eigentlich) 2 Probleme:

    1. Wie muss ich ein TextField konfigurieren, damit man Zahlen, aber auch Komma eingeben kann?

    Und:

    2. Wie bringe ich den eingebenenen Double-Wert, der ja als String vorliegt, in eine dementsprechende Double-Variable und nach der Berechnung wieder als String in das TextField?

    Würde mich freuen, wenn jemand einen Rat für mich hätte.
    Danke schon mal und,
    Gruss Stefan

  • #2
    Hallo,

    die CLDC 1.0 auf der das MIDP 1.0 aufsetzt unterstützt leider keine Double Datentypen. Aber ab der CLDC 1.1 gibt es dann die Unterstützung.
    Um dieses Problem zu umgehen kann man entweder eines der zahlreichen Floating-Point-Packages von Drittanbietern einsetzen oder bei einfachen Berechnungen den Wert als String aus dem Textfeld auslesen und in einen Long Wert Umwandeln, der einen Floating-Point-Wert mit verschobenem Komma repräsentiert. Das Problem ist, dass dann die Genauigkeit sehr darunter leidet.

    Beispiel mit vier Nachkommastellen:

    String sNumber = numberField.getString ();

    int i = sNumber.indexOf(".");

    if (i== -1) sNumber += "0000"; else sNumber = sNumber.substring(0, i) + sNumber.substring(i + 1, sNumber.length())+ "0000".substring(sNumber.length()-i-1, 4);

    long lNumber = Long.parseLong(sNumber);

    Floating-Point-Packages:

    Henson Float Package
    http://henson.newmail.ru/j2me/Float.htm

    Java Math Fixed Point Library
    http://sourceforge.net/projects/jmfp

    MathFP Fixed Point Integer Math
    http://home.rochester.rr.com/ohommes/MathFP/

    Viele Grüße und viel Glück,

    Kay Glah

    Comment


    • #3
      Hallo Kay,

      vielen Dank für Deinen schneller Kommentar auf meine Anfrage.

      Ich habe mir gerade mal die CLDC 1.1 downgeloadet und werde es mal mit der versuchen. Ansonsten kann ich ja immer noch auf Deine Alternativ-Packages zurückgreifen.

      Dass beim Umrechnen auf Long die Genauigkeit leidet ist irgendwie doch sehr einleuchtend. Darum hatte ich mir ja gedacht, dass es da noch eine andere Möglichkeit geben muss....

      Ich werde das heute abend mal ausprobieren nd mich dann wieder melden...

      Also noch mal herzlichen Dank!

      Gruss Stefa

      Comment


      • #4
        Hallo Kay,
        das mit den Kommazahlen bringt mich noch ins Koma!!
        Nachdem ich die CLCD 1.1 eingebunden hatte, konnte der JBuilder leider keine meiner Klassen innerhalb des Packages mehr finden....ist mir vorher auch noch nie passiert! ;-(
        Erst als ich die Library wieder rausgenommen habe, hat's wieder funktioniert....

        Die Float.java zu testen, bin ich jetzt leider noch nicht dazu gekommen. Das mache ich demnächst.

        Weisst Du (oder jemand anderes) zufällig, wie man in einem MIDLet das lästige Nokia-Menue umgehen kann? Ich meine, wenn das Textfeld angezeigt wird, dann müsste man zuerst ins Menue und "Bearb." auswählen, bevor man etwas eintippen kann - und auch nach dem "Save" muss man nochmal ins Menue und 'OK' auswählen.
        Irgendwie nervt das ganz schön... ;(

        Danke und Gruss,
        Stefa

        Comment

        Working...
        X