Freigeben über


trunc, truncftruncl

Bestimmt die nächste ganze Zahl, die kleiner oder gleich dem angegebenen Gleitkommawert ist.

Syntax

double trunc( double x );
long double truncl( long double x );
#define trunc(X) // Requires C11 or higher

long double trunc( long double x ); //C++ only
float trunc( float x ); //C++ only

Parameter

x
Der abzuschneidende Wert.

Rückgabewert

Bei erfolgreicher Ausführung geben die Funktionen einen ganzzahligen Wert von x, gerundet auf Null zurück.

Andernfalls können die Funktionen einen der folgenden Werte zurückgeben:

Problem Return
x = ±INFINITY x
x = ±0 x
x = NaN NaN

Fehler werden gemäß der Angaben in _matherr gemeldet.

Hinweise

Da C++ das Überladen zulässt, können Sie Überladungen von trunc aufrufen, die float und long double-Typen verwenden und zurückgeben. In einem C-Programm, es sei denn, Sie verwenden das Makro <tgmath.h>, um diese Funktion aufzurufen, übernimmt trunc und gibt immer ein double zurück.

Wenn Sie das Makro <tgmath.h>trunc() verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter Typgengenerische Mathematik.

Da die größten Gleitkommawerte exakt ganze Zahlen sind, überläuft diese Funktion nicht allein. Sie können diese Funktion jedoch möglicherweise bei der Rückgabe eines Werts in einen ganzzahligen Typ zum Überlaufen bringen.

Sie können auch abrunden, indem Sie Gleitkommazahlen implizit in ganzzahlige konvertieren. Dies ist jedoch nur für die Werte möglich, die im Zieltyp gespeichert werden können.

Anforderungen

Funktion C-Header C++-Header
trunc, truncftruncl <math.h> <cmath>
trunc-Makro <tgmath.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Weitere Informationen

Alphabetische Funktionsreferenz
floor, floorffloorl
ceil, ceilfceill
round, roundfroundl