Anzahl von Nachkommastellen



  • Hallo zusammen !

    Bin absoluter newbie in sachen Programmierung. Hab nun mal angefangen ein kleine Programm zu schreiben, und stoße auch schon direkt auf ein Problem:

    Wie bekomme ich es hin, das bei der Ausgabe nur 2 Nachkommastellen angezeigt werden?

    Label1->Caption=(double(StrToFloat(Edit1->Text)) / double(StrToFloat(Edit2->Text))
    

    Kann mir jemand bei dem Problem helfen ??? Wäre echt nett, denn ich komme sonst nit weiter 🙄

    Viele Grüße aus Koblenz am Rhein !!
    timeless



  • Das Ergebnis in eine double Variable schreiben
    mit der formatierfunktion aus C sprintf in einen Stringbuffer formatieren
    diesen Stringbuffer weiter benutzen

    double temp;
    char Buffer[30+1];
    
    temp=(double(StrToFloat(Edit1->Text)) / double(StrToFloat(Edit2->Text))
    
    sprintf(Buffer,"%7.2lf",temp);
    

    Hoffe geholfen zu haben



  • als eigene Idee:

    #include <iostream>
    #include <conio.h>
    #include <cmath>
    using namespace std ; 
    
    double runden_2(double zahl)
    {
        int ganzzahl = static_cast<int>(zahl);
        double nachkommazahl = zahl - ganzzahl;
        double factor = 100.0;
        double gerundete_zahl;
        if(zahl>=0) 
            gerundete_zahl = ( static_cast<int>(factor*nachkommazahl + 0.5) ) / factor;
        else
            gerundete_zahl = ( static_cast<int>(factor*nachkommazahl - 0.5) ) / factor;   
        return (gerundete_zahl + ganzzahl);
    }
    
    int main() 
    { 
          double zahl;  
          cout << "Bitte geben Sie eine Gleitkommazahl ein: ";
          cin  >> zahl ;    
          cout << "Gerundete Zahl: " << runden_2(zahl) << endl ;     
    
      getch();
      return 0 ; 
    }
    


  • cout.setf(ios_base::fixed,ios_base::floatfield);
    	cout.precision(2);
    	cout << 3.456789045 << endl;
    

Anmelden zum Antworten