Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi float in int umwandeln (https://www.delphipraxis.net/67347-float-int-umwandeln.html)

ksh 13. Apr 2006 11:36


float in int umwandeln
 
manchmal scheitert man an den einfachsten sachen :wall:

also, versuche eigentlich nur, einen float getrennt in Vor- und Nachkommastellen auszugeben. z.B. ein Gehalt.
bisher mache ich das so:
Eurobetrag: einfach runden
Centbetrag:
Delphi-Quellcode:
Betrag*100-(RoundTo(Betrag],0)*100)
Leider bekomme ich dann blöde Zahlen durch das Runden. Habe schon verzweifelt danach gesucht, eine Castfunktion zu finden. Habe auch nichts gefunden, dass ich einen float in einen int umwandeln kann...

schon mal vielen dank für eure Hilfe!

mkinzler 13. Apr 2006 11:39

Re: float in int umwandeln
 
Delphi-Quellcode:
KommaTeil := (Betrag*100-Trunc(Betrag)*100)/100);

JasonDX 13. Apr 2006 11:43

Re: float in int umwandeln
 
Die Nachkommastellen einer Zahl gibts einfach mit Delphi-Referenz durchsuchenFrac :)

greetz
Mike

ksh 13. Apr 2006 12:03

Re: float in int umwandeln
 
also ich habe jetzt beides probiert. wenn ich es an der Stelle auswerte, dann habe ich auch nur den gewünschten Betrag.
lasse das dann in eine AccessDB schreiben - und da gibt er mir dann immer noch den fehler aus. also dann gibts solche zahlen wie 96,000000000000000043!!!

mkinzler 13. Apr 2006 12:14

Re: float in int umwandeln
 
Wir rundest du? In deinem Fall darfst du eigentlich nicht Runden, da du den Nachkommateil extra behandelst. Du mußt die Nachkommastellen einfach abscheneiden mit
Delphi-Quellcode:
Trunc( Betrag);

ksh 13. Apr 2006 12:55

Re: float in int umwandeln
 
also, es funktioniert definitiv. schreibe dann den Betrag in die DB mit
Delphi-Quellcode:
ADOQuery1.FieldByName('ARCent').asString := floattoStr(Betrag);
und da haut es mir immer diesen Fehler mit rein. wie muss/ kann ich das anderweitig übergeben?

mkinzler 13. Apr 2006 13:00

Re: float in int umwandeln
 
Was steht in Betrag: Ursprünlicher Wert? Nur ganzteiliger Wert?

ksh 13. Apr 2006 13:08

Re: float in int umwandeln
 
also wenn ich das mit diesem Frac mache, dann steht da z.B. 96,0 drin

Klaus01 13. Apr 2006 13:10

Re: float in int umwandeln
 
weil dein Betrag ein real Wert hat.
Wenn Du Betrag und Nachkommastellen getrennt
behandelst kannst Du auch für Betrag und Nachkommastellen
einen Integerwert nehmen.

Grüße
Klaus

ksh 13. Apr 2006 13:14

Re: float in int umwandeln
 
danke! stand irgendwie auf dem schlauch! :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:16 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz