trunc
, truncf
, truncl
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 Angabe in _matherr
.
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, trunc
übernimmt und gibt immer ein double
.
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 "Typgenerika" .
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 , truncf , truncl |
<math.h> | <cmath> |
trunc -Makro |
<tgmath.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Siehe auch
Alphabetische Funktionsreferenz
floor
, floorf
, floorl
ceil
, ceilf
, ceill
round
, roundf
, roundl
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für