Integer Runden



  • Hallo liebe com,

    Ich meine frage bezieht sich auf eine runden Funktion.
    zum Beispiel:

    int i = 103;

    und die 103 soll er selbstständing auf 110 runden,
    und die differenz zahl in eine andere variable abspeichern.

    mfg
    🙂



  • Hallo,

    also rein mathematisch betrachtet kann man Ganzzahlen nicht runden. Also wandle um in einen double und teile die Zahl durch 10. Dann etwa sowas:

    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    SetRoundMode(rmUp );
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    double zahl;
    zahl = Edit1->Text.ToDouble()/10 ;
    Edit2->Text = RoundTo(zahl,0)*10;
    Edit3->Text = Edit2->Text.ToDouble()-Edit1->Text.ToDouble();
    }
    

    und math.h einbinden

    Gruß myerscola



  • Du kannst den Rest mit Modulo bestimmen.
    Und den Hauptanteil mit Geteilt.

    int Rest = 0;
    if ((i % 10) != 0)
    { Rest = 10 - (i % 10);
      i = ((i / 10) + 1) * 10; 
    }
    

    Für negativ Zahlen darfst du selber überlegen.



  • danke ihr beiden 🙂


Anmelden zum Antworten