Announcement

Collapse
No announcement yet.

String zu float mit 2 Nachkommastellen

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

  • String zu float mit 2 Nachkommastellen

    Hallo,

    ich möchte gerne folgendes Problemchen lösen:
    Ich bekomme einen String und möchte diesen in ein float umwandeln und zusätzlich muss dieser aber 2 Nachkommastellen besitzen.

    Code:
    DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance();
    dfs.setDecimalSeparator('.');
    DecimalFormat dec = new DecimalFormat("#.00",dfs);
    
    String str = "12.4";  //Bsp
    str = dec.format(str);
    float x = Float.parseFloat(str);
    Leider erhalte ich x = 12.4 , würde aber gerne x = 12.40 erhalten..was muss ich noch tun?

  • #2
    Wo sollen da 2 Nachkommastellen herkommen? Ein float oder double sind mathematische Werte. Die nehmen keine unnützen Nullen o.a. auf. Ist auch unnötig, da es für eine Ausgabe eben auf 2 Nachommastellen über einem String formatiert werden kann
    Christian

    Comment


    • #3
      Wo sollen da 2 Nachkommastellen herkommen?
      hier: "#.00" ??

      Dachte es gibt ne Möglichkeit....dann nehme ich eben einen String.

      Comment


      • #4
        Es kann ein float-Wert zu einem String formatiert werden, aber nicht der float direkt selber
        Christian

        Comment


        • #5
          Code:
          String temp = "16.90";
          float ep = (Float) temp;
          führt leider zu :
          java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Float

          Sollte nicht einfach 16.9 rauskommen?

          Comment


          • #6
            Leider erhalte ich x = 12.4 , würde aber gerne x = 12.40 erhalten..was muss ich noch tun?
            Das ist nicht x, x ist ein float und hat keine Darstellung. Das was du zeigst ist wieder eine string Representation von x. Irgendwo hast du implizit oder explizit wieder eine Umwandlung float nach string damit es angezeigt werden kann. Die mußt du steuern damit die Darstellung dem entspricht was du dir wünscht.

            Comment


            • #7
              oh ja....alles klar....bei der formatierten Ausgabe mache ich das mit dec.format() und ansonsten bleibt float, wie er ist..

              Comment


              • #8
                Du kannst nicht einfach casten. Das sollte dir deine IDE schon anzeigen.
                float ep = Float.valueOf(temp);
                Christian

                Comment


                • #9
                  Ach so, ja alles klar. Hab ich wohl vergessen mit zu kopieren bzw. ist irgendwie beim Ausrichten verschwunden.

                  Comment

                  Working...
                  X