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# Korrekt runden (https://www.delphipraxis.net/60217-korrekt-runden.html)

Dagon 4. Jan 2006 11:04


Korrekt runden
 
Hallo

Wie kann ich mathematisch korrekt runden? Ich verwende folgenden Code (aus der Hilfe):

Delphi-Quellcode:
Math.Round(3.44, 1); //Returns 3.4.
Math.Round(3.45, 1); //Returns 3.4.
Ich möchte aber, dass die Rundung von 3.45 3.5 ergibt.

Khabarakh 4. Jan 2006 11:12

Re: Korrekt runden
 
Welches Framework? Ab 2.0 gibt es zwei zusätzliche Round-Überladungen, die dir gefallen dürften :wink: .

Waldteufel 4. Jan 2006 11:25

Re: Korrekt runden
 
Hi.

Alternativ gehts auch so:
Code:
float x, y;

x = 1.4;
y = Math.Round(x + 0.5); // Auf ganze Zahlen runden
 
x = 1.36;
y = Math.Round(x * 10 + 0.5) / 10; // Auf eine Nachkommastelle runden
Oder gleich als Funktion:
Code:
float RoundEx(float z, int nk) {
  int p;
  p = Math.Power(10, nachkomma); // p := 10 hoch [nachkomma]
  return Math.Round(x * p + 0.5) / p;
};
[edit] Ups... Nicht auf die Sprache geachtet...

faux 4. Jan 2006 11:26

Re: Korrekt runden
 
Zitat:

Zitat von Khabarakh
Welches Framework? Ab 2.0 gibt es zwei zusätzliche Round-Überladungen, die dir gefallen dürften :wink: .

Machs doch nicht so spannend.... ;)
http://msdn2.microsoft.com/en-us/lib...ath.round.aspx bzw MSDN-Library durchsuchenRound

@Waldteufel:
Du hast aber nen eigenartigen C#-Stil.. :mrgreen:
Dagon wollte eine C#-Lösung. ;)


Grüße
Faux

Dagon 4. Jan 2006 11:38

Re: Korrekt runden
 
Wunderbar, ich danke euch! Nicht übel, dieses .Net Framework 2.0


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:21 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 by Thomas Breitkreuz