Was ist falsch?



  • float a,b,c;

    Edit1->Text=FloatToStr(a);
    Edit2->Text=FloatToStr(b);
    c=a+b;
    Edit3->Text=FloatToStr(c);

    wollte nur a+b=c ausrechen aber es geht nicht wenn ich a fest setzte und b auch dann geht es. 😕

    float a=5,b=5,c;

    Edit1->Text=FloatToStr(a);
    Edit2->Text=FloatToStr(b);
    c=a+b;
    Edit3->Text=FloatToStr(c);

    dann sagt er mir c=10 😞



  • Deine Überschrift ist schlecht.



  • ja 🙂 ich weiß



  • Hallo,

    Soso... und was erwartest Du, wenn Du a und b nicht setzt ? 😕
    Versuch doch mal :

    a = StrToFloatDef(Edit1->Text, 0);
    b = StrToFloatDef(Edit2->Text, 0);
    
    c = a + b; 
    Edit3->Text = FloatToStrF(c, ffFixed, 8, 2);
    

    Bis dann denn,
    🙂
    Nash



  • Hi danke es klappt, jetzt kann ich in ruhe schlafen 😃

    gruß
    cristyle 😃



  • Du Nash kannst du mir bitte auch erklären was du ihm gesagt hast?
    Ich bin nur ein anfänger und aller anfang ist schwer 😞

    gruß
    cristyle



  • Hallo,

    Na klar doch... 🙂
    PrivatCalculator v0.1Beta 😃 😉

    a und b sind Deine Variablen mit denen Du rechnen willst. Also mußt Du diesen auch ein Wert zuweisen. In Edit1 und Edit2 stehen nun, die vom User eingegebenen, Zahlen (als String). Diesen String (Edit1->Text bzw. Edit2->Text) mußt Du nun umwandeln in Zahlen (StrToFloatDef), damit Du damit rechnen kannst. Nun weist Du noch den Variablen a und b die Umwandlung (StrToFloatDef(Edit1->Text, 0)) zu. Dann rechnest Du a + b und weist das Ergebnis c zu. c gibst Du dann formatiert (FloatToStrF) an Edit3->Text zurück.

    // Umwandeln des Inhalts von Edit1 und zuweisen zu a
    a = StrToFloatDef(Edit1->Text, 0);
    
    // Umwandeln des Inhalts von Edit2 und zuweisen zu b
    b = StrToFloatDef(Edit2->Text, 0);
    
    // Rechnen
    c = a + b; 
    
    // Umwandeln von c und zuweisen zu Edit3
    Edit3->Text = FloatToStrF(c, ffFixed, 8, 2);
    

    Was die einzelnen Funktionen (kursiv) bewirken, liest Du aber besser in der Hilfe nach, da steht's ausführlicher drin. 🙂

    Bis dann denn,
    🙂
    Nash


Anmelden zum Antworten