Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[.NET] Math.Round() macht mich verrückt

  Alt 12. Dez 2009, 12:59
Hi zusammen,

.NET macht mich noch wahnsinnig. Gibt es keine saubere Möglichkeit, das hier zu schreiben?

Code:
intVal = Convert.ToInt32(Math.Round(Convert.ToDouble(tView.Height / 2)));
Da geht absolut jede Übersicht verloren.
Minimal schöner wäre es so:

Code:
intVal = Convert.ToInt32(Math.Round(tView.Height / 2));
Das ist jedoch nicht zulässig:

Zitat:
Der Aufruf unterscheidet nicht eindeutig zwischen folgenden Methoden und Eigenschaften: "System.Math.Round(decimal)" und "System.Math.Round(double)"
Geht's noch?

Erwartet hätte ich eine solche Lösung:

Code:
intVal = Math.Round(tView.Height / 2);
Dass Math.Round() beim Runden auf 0 Nachkommastellen einen Double-Wert zurück gibt ist doch irgendwo krank.

Mit einem Typecast ginge es kurz, doch ich persönlich finde Typecasts unsauber, da man nicht exakt weiß, was da nun wie interpretiert wird (Holzhammermethode):

Code:
intVal = (int)(tView.Height/ 2)

Grüße, Matze
  Mit Zitat antworten Zitat