502 Stimmen

Unterschied zwischen Math.Floor() und Math.Truncate()

Was ist der Unterschied zwischen Math.Floor() y Math.Truncate() in .NET?

30voto

Sandesh Punkte 1150

Sie sind funktional äquivalent mit positiven Zahlen. Der Unterschied besteht darin, wie sie mit negativen Zahlen umgehen.

Zum Beispiel:

Math.Floor(2.5) = 2
Math.Truncate(2.5) = 2

Math.Floor(-2.5) = -3
Math.Truncate(-2.5) = -2

MSDN-Links: - Math.Floor Methode - Math.Truncate Methode

P.S. Hüten Sie sich vor Math.Round, es ist vielleicht nicht das, was Sie erwarten.

Um das "Standard"-Rundungsergebnis zu erhalten, verwenden Sie:

float myFloat = 4.5;
Console.WriteLine( Math.Round(myFloat) ); // writes 4
Console.WriteLine( Math.Round(myFloat, 0, MidpointRounding.AwayFromZero) ) //writes 5
Console.WriteLine( myFloat.ToString("F0") ); // writes 5

29voto

safin chacko Punkte 1332

Versuchen Sie dies, Beispiele:

Math.Floor() gegen Math.Truncate()

Math.Floor(2.56) = 2
Math.Floor(3.22) = 3
Math.Floor(-2.56) = -3
Math.Floor(-3.26) = -4

Math.Truncate(2.56) = 2
Math.Truncate(2.00) = 2
Math.Truncate(1.20) = 1
Math.Truncate(-3.26) = -3
Math.Truncate(-3.96) = -3

Auch Math.Round()

   Math.Round(1.6) = 2
   Math.Round(-8.56) = -9
   Math.Round(8.16) = 8
   Math.Round(8.50) = 8
   Math.Round(8.51) = 9

math.floor()

Gibt die größte ganze Zahl zurück, die kleiner oder gleich der angegebenen Zahl ist. MSDN system.math.floor

math.truncate()

Berechnet den ganzzahligen Anteil einer Zahl. MSDN system.math.truncate

26voto

Math.Floor() Runden "gegen negative Unendlichkeit" in Übereinstimmung mit IEEE-Norm 754 Abschnitt 4.

Math.Truncate() rundet " auf die nächste ganze Zahl gegen Null."

16voto

Pinky Punkte 663

Math.Floor() : Gibt die größte Ganzzahl zurück, die kleiner oder gleich der angegebenen doppelgenauen Gleitkommazahl ist.

Math.Round() : Rundet einen Wert auf die nächste Ganzzahl oder auf die angegebene Anzahl von Nachkommastellen.

5voto

vidy Punkte 1368

Math.floor() rundet immer ab, d.h. es gibt die kleinere ganze Zahl zurück. Während round() gibt die NÄCHSTE Ganzzahl zurück

math.floor()

Gibt die größte ganze Zahl zurück, die kleiner oder gleich der angegebenen Zahl ist.

math.truncate()

Berechnet den ganzzahligen Anteil einer Zahl.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X