![]() |
C# kann nicht rechnen oder bin ich zu blöd?¿?
Hi.
Folgender Fall in C#:
Code:
Das sieht mir auf den ersten Blick sehr richtig aus.
public class Test
{ private double _Qs = 30; // Einheit: tonnen / stunde public double Qs { get { return _Qs; } set { _Qs = value; } } // simple Umrechnung: t/h --> kg/s public double Ms { get { return Qs / (1000 / 3600); } set { Qs = value * (1000 / 3600); } } } Beispiel im (Windows-) Taschenrechner mit 30 t/h in 108 kg/s: 30 / (1000 / 3600) = 108 Dieser getter - Code liefert mir jedoch im Debugger und in der Ausgabe (VS 2008) als Wert 'Infinity' zurück. Was fatal ist, da ich damit ja weiter rechnen muss... Und jetzt bin ich echt perplex: Wieso kommt da so ein offensichtlich falsches Ergebnis bei raus? |
Re: C# kann nicht rechnen oder bin ich zu blöd?¿?
Schreib mal:
Code:
Und bei den Konstanten, mit denen du dividierst, auch.
private double _Qs = 30.0;
|
Re: C# kann nicht rechnen oder bin ich zu blöd?¿?
Joa.. integer 3600 / integer 1000 = integer 0...
Robert hat mich da grad nett drauf aufmerksam gemacht.. Mannomann... Also Anwtort. Ich bin zu blöd :stupid: |
Re: C# kann nicht rechnen oder bin ich zu blöd?¿?
Alternativ stell deinen Zahlen ein "f" bzw. "d" nach. Also "(1000d / 3600d)".
|
Re: C# kann nicht rechnen oder bin ich zu blöd?¿?
Zitat:
|
Re: C# kann nicht rechnen oder bin ich zu blöd?¿?
Zitat:
Der Teil mit Integer/Integer=Integer war nur Alibi... :mrgreen: |
Re: C# kann nicht rechnen oder bin ich zu blöd?¿?
Nu is gut, ja? :-p
|
Re: C# kann nicht rechnen oder bin ich zu blöd?¿?
Wenn das Thema schon "C# kann nicht rechnen" heißt, möchte ich noch darauf hinweisen, dass double ungenau ist und deshalb zu Rechenfehlern führen kann.
Denen, die sich hier geäußert haben, sage ich damit sicher nichts Neues; aber für den Fall, dass andere Leser darüber stolpern, wollte ich darauf hinweisen. Jürgen |
Re: C# kann nicht rechnen oder bin ich zu blöd?¿?
Was heißt ungenau? Wenn ich nur zwei Nachkommastellen brauche, dann reicht auch Double.
|
Re: C# kann nicht rechnen oder bin ich zu blöd?¿?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 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