Umwandlung und Kommastellenproblem



  • Hallo,

    Ich habe eine MFC-Anwendung erstellt und habe nun folgende Probleme. Ich habe einen float-Wert, doch bei Eingabe des Wertes 10.10 wird dann nach der Übernahme dieses Wertes in ein anderes Feld der Wert 10.1 angezeigt, ich möchte aber generell immer mindestens, am liebsten auch maximum, 2 Nachkommastellen angezeigt haben, selbst wenn die zweite Nachkommastelle eine 0 ist. Was muss ich dazu tun oder welche Tricks gibt es ?

    Das zweite Problem, dass ich dann habe ist, dass ich einen float Wert in einen CString bekommen muss, doch wie kann ich diesen am besten und unkompliziertesten umwandeln ?

    Bsp : m_GesamtString = m_String1 + m_String2 + "\t" + m_Floatwert;

    So geht es ja nicht, klar, aber wie dann ?

    Vielen Dank !

    mfg
    Alex



  • CString::Format ist die Lösung:

    CString str;
    float a = 1.2;
    
    str.Format("%.2f",a);
    


  • Hallo,

    Danke, hat bereits wunderbar funktioniert. Wie kann ich aus bei einer Berechnung von zwei double-Werte dafür sorgen, dass bei 10 + 10 auch 10.00 und nicht nur 10 angezeigt wird ?

    strErg = strWert1 + strWert2;

    Ich will dass es auf zwei Nachkommastellen angezeigt wird, sind nur reine double-Werte.

    Danke !



  • ?
    10 + 10 als strings ergibt 1010 ...



  • Hallo,

    Nein sollten float-Werte sein, war mein Fehler, also fZahl1 + fZahl2.
    Wenn beide Zahlen 10 sind, bekomme ich 20 raus, will aber 20.00, zwei Nachkommastellen, selbst wenn diese Null sind angezeigt haben.

    Wie ?



  • Hä? Genau so wie oben ?!



  • Hallo,

    Kannst bitte ein Bespiel machen, ich will ja keine String draus machen sondern einfach nur zwei float-Werte addieren und in einen float speichern, aber es sollen zwei Nachkommastellen gewährleistet werden.



  • ein floatwert ist ein floatWERT! wenn es genau 7.0000000 ist, ist es eben 7.
    Die Nachkommastellen siehst du erst, wenn du es in nen String umwandelst, anders kannst du eh keine zahlen anzeigen lassen!


Anmelden zum Antworten