![]() |
Runden bei FFFixed verhindern.
Guten Abend,
Ich hab ein Problem. Das ist mein Quelltext:
Delphi-Quellcode:
Wenn ich jetzt Bei Gesamt z.B den Wert 481 nehme kommt eine Zahl um die 2,99..... raus, diese rundet er auf 3,0.
Note := ((17/3)-(Gesamt/180));
LNote.Caption := floattostrF(Note,ffFixed,1,1); Was ich aber möchte ist das er mir 2,9 anzeigt, das er also genau 1 Kommastelle anzeigt und diese aber nicht rundet, oder wenn dann eben zum besseren. Sodass 2,99 nicht 3,0 sondern 2,90 ist. Gibts da eine Möglichkeit? mfg Sudrow |
Re: Runden bei FFFixed verhindern.
hi,
ich glaube eine direkte funktion gibt es dafür nicht aber du könntest mal folgendes ausprobieren:
Delphi-Quellcode:
kurze erklärung:
function abrunden(value:Double):Double ;
begin Result := Int(value) + Floor( Frac( value ) *10 ) / 10 ; end; procedure ... (Sender: TObject); var ... begin ... Note := ((17/3)-(Gesamt/180)); LNote.Caption := Format('%.2f',[abrunden(Note)]); end; Frac(value) = nachkommaanteil deiner note // z.b. 0.99444 Frac( value ) * 10 // 9.9444 Floor(...) = abrunden nach unten auf nächsten integer wert // 9.0 wieder zurück teilen (/10) // 0.9 Int(value) = ganzzahliger Teil // 2 vllt. bringt es dich weiter ;) cya |
Re: Runden bei FFFixed verhindern.
Delphi-Quellcode:
das klingt schon mal nicht schlecht, dankeschön.
function THaupt.abrunden(value:Double):Double ;
begin Result := Int(value) + Floor( Frac( value ) *10 ) / 10 ; end; Nur leider sagt er mir bei Floor das er es nicht kennt, er meldet immer nicht deklarierter Bezeichner. Was kann ich da machen? mfg Sudrow |
Re: Runden bei FFFixed verhindern.
uses Math ;
cya |
Re: Runden bei FFFixed verhindern.
Hallo Sudrow,
falls du die Unit Math nicht einbinden möchtest oder kannst:
Delphi-Quellcode:
Gruß Hawkeye
Note := Int(10 * Note) / 10;
|
Re: Runden bei FFFixed verhindern.
Perfekt beide funktionieren.
Vielen Dank euch zweien. :hello: :hello: Hat grad die uses eingetragn :) Aber das andere ist kürzer was meinem großen Quelltext zugute kommt. Dankeschön. mfg Sudrow |
Re: Runden bei FFFixed verhindern.
Zitat:
|
Re: Runden bei FFFixed verhindern.
Brocken Window Theorie?
|
Re: Runden bei FFFixed verhindern.
Die Frage wurde zwar eigentlich schon beantwortet, aber zu den angebotenen sachen muss ich doch noch etwas fragen.
Kann ich damit auch erreichen das er die nachkommastelle einfach wegläßt? Also bei z.B 6,6 schreibt er nur 6, ohne runden und alles. mfg Sudrow |
Re: Runden bei FFFixed verhindern.
Trunc(), Int()
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz