Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   C# Fließkommadivsion ergibt 0.0 (https://www.delphipraxis.net/103701-fliesskommadivsion-ergibt-0-0-a.html)

Luckie 20. Nov 2007 13:02


Fließkommadivsion ergibt 0.0
 
Ich versuche gerade zwei Integers zu teilen:
Code:
float zoomFaktor = 939 / 1123;
Die Varibale zoomFaktor ist danach aber immer 0.0. Warum denn das? Was mache ich denn jetzt schon wieder falsch? :wall:

Apollonius 20. Nov 2007 13:11

Re: Fließkommadivsion ergibt 0.0
 
In C ergibt die Division zweier Ganzzahlen wieder eine Ganzzahl. Du musst also einen der Operanden nach float casten.

r2c2 20. Nov 2007 13:13

Re: Fließkommadivsion ergibt 0.0
 
Hallo :hi:
wenn du zwei Integers teilst, dann passiert das per Integer-Division(Delphi: div). Ob das ergebnis nachher in einen Float konvertiert wird, is egal. Wie behebt man das? Entweder schon bei der rechnung casten oder explizit n Float angeben: 939.0 oder n Hinweis geben(ich mein in C# muss mna dazu n d für double bzw. n f für float hintendranmachen. Bin mir aber nicht sicher. Schon lang nicht mehr gemacht)...

mfg

Christian

Luckie 20. Nov 2007 13:30

Re: Fließkommadivsion ergibt 0.0
 
Ächtz. Das muss einem ja auch mal gesagt werden. :roll: Besten Dank.

Jelly 20. Nov 2007 14:07

Re: Fließkommadivsion ergibt 0.0
 
Zitat:

Zitat von Luckie
Ächtz. Das muss einem ja auch mal gesagt werden. :roll:

Deswegen hast du ja gefragt :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz