[Java] Float (0.00) -> String -> Einzelzeichen - Wie erreichen?

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von erichbitch, 29. September 2011 .

  1. 29. September 2011
    Float (0.00) -> String -> Einzelzeichen - Wie erreichen?

    Hallo Leute !
    Ich muss eine Float-Zahl mit 2 Nachkommastellen (was ich über eine Funktion "gerundet()" mache) in einen String umwandeln.

    Also habe ich eine Float Zahl (0.00) und diese muss dann zu einem String gemacht werden.
    Von diesem String brauche ich dann die "Einzelzeichen" (außer dem Punkt).

    Hier wie ich es bisher geregelt hatte:

    Code:
     float item; //Der Floatbetrag zb 9.45
    
     String itemstring; // Float -> String
     char[] itemstringarray; // String -> CharArray
    
     String betrag1; //Ergebnis vor Komma
     String betrag2; //1. Nachkomma
     String betrag3; //2. Nachkomma
     
     [B][....][/B]
    
     item = gerundet(item); //Nurnoch 2 Nachkomma-Stellen
     item = item * 100; //Keine Komma mehr
     
     //Zerstueckeln
     itemstring = String.valueOf( item );
     itemstringarray = itemstring.toCharArray();
     betrag1 = String.valueOf(itemstringarray[0]);
     betrag2 = String.valueOf(itemstringarray[1]);
     betrag3 = String.valueOf(itemstringarray[2]);

    So also dieses Vorgehen FUNKTIONIERT ZWAR, verursacht in meiner Android App jedoch ab und zu ForceCloses also Fehler bei der Übergabe oder beim "zusammenparsen" von Float zu einzelzeichen.

    1: Findet ihr einen Fehler bzw eine ForceClose Stelle unter bestimmten umständen?
    2: Geht es effizienter und auch stabiler?

    Gruß
    Erich
     
  2. 29. September 2011
    AW: Float (0.00) -> String -> Einzelzeichen - Wie erreichen?

    schau dir mal die klasse DecimalFormat an.. gruß
     
  3. 29. September 2011
    AW: Float (0.00) -> String -> Einzelzeichen - Wie erreichen?

    Diese habe ich bisher benutzt um eine Dezimalzahl zb 1.90 nicht als 1.9 sondern als 1.90 darzustellen, kann ich mir dieser auch die genauen Zahlen also "Zehntel" "Hundertstel" usw direkt auslesen?

    Falls ja wäre mein Problem gelöst

    getPositiveSuffix() ? Oder worüber lässt sich das lösen?
     
  4. 30. September 2011
    AW: Float (0.00) -> String -> Einzelzeichen - Wie erreichen?

    Wenn du die Einer, Zehner, Hunderter usw. auslesen willst, wie wärs mit einem anderen ansatz?

    - Float in int konventieren (Kommastellen werden abgesnitten)
    - Modulo 10 durchführen (Rest wird berechnet)
    - Schliesslich den Wert in ein String konventieren.
    Willst du nun die Zehner Haben, zuerst 10^x (x=1) multiplitzieren bzw. addieren.

    Code:
    float FloatVariable = 12.47F;
    
    ((int)(FloatVariable*10.0F) % 10) -> 1
    ((int)(FloatVariable) % 10) -> 2
    ((int)(FloatVariable/10.0F) % 10) -> 4
    ((int)(FloatVariable/100.0F) % 10) -> 7
    
    Mfg Rushh0ur
     
  5. 30. September 2011
    AW: Float (0.00) -> String -> Einzelzeichen - Wie erreichen?

    WOW das ist doch mal eine Lösung !
    Das ist doch mal eine echte alternative ! Werde es mal ausprobieren, es können sogar INT's bleiben weil ich den String später wieder zu Ints machen.

    Danke für die Lösung !
    Gefällt mir sehr gut
    Denke das werde ich mal versuchen !
     
  6. 1. Oktober 2011
    AW: Float (0.00) -> String -> Einzelzeichen - Wie erreichen?

    Da 2. schon von Rushh0ur beantwortet wurde, wollte ich nochmal kurz auf 1. eingehen:

    Es wäre hilfreich gewesen, zu wissen was für eine Exception dort an welcher Stelle auftritt. So kann nämlich jeder nur raten.

    Gruß,
    Figger
     
  7. 2. Oktober 2011
    AW: Float (0.00) -> String -> Einzelzeichen - Wie erreichen?


    Das Problem ist, dass ich den Android SDK erst recht kurz nutze, ich weiß nicht wie ich Bugs un Exceptions auslesen, ich bekomme nur den ForceClose und ende, ich kann da nichts auslesen.

    Kannst du mir sagen wie ich das mache bzw. ein Tutorial nennen?
    Edit: Habe das hier gefunden: Ist das gut / professionell?
    http://www.droidnova.com/debugging-in-android-using-eclipse,541.html
     
  8. 2. Oktober 2011
    AW: Float (0.00) -> String -> Einzelzeichen - Wie erreichen?

    Jap, sieht so aus als wäre da alles drin. Habs jetzt nur kurz überflogen, aber sieht vollständig aus.
    In der LogCat View siehts du auch alle Exceptions und sämtliche Logausgaben des Systems (daher sind bei eigenen Logausgaben passende Tags, zB der Name der Activity sinnvoll, nach denen du dann filtern kannst).

    Falls du irgendwann mal wieder das Problem hast, dass du nicht weißt wo du die Ausgabe deines Programms bzw der Exception sehen kannst, imm Notfall einfach ein try/catch(Exception e) um den fraglichen Block packen und nen Breakpoint in den catch-Block setzen. Dann kannst du dir beim Debuggen das Exception Objekt angucken.

    Es kann gelgentlich (manchmal auch häufig ^^) vorkommen, dass Logcat rumspinnt, hierbei hilft es meistens, mal den Button "Clear log" zu klicken, und falls das nicht hilft, die ADB oder den Emulator neu starten.

    Gruß,
    Figger
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.