trunc
, truncf
, truncl
Restituisce l'intero più prossimo minore o uguale al valore a virgola mobile specificato.
Sintassi
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
Parametri
x
Valore da troncare.
Valore restituito
In caso di esito positivo, le funzioni restituiscono un valore intero di x
, arrotondato verso zero.
In caso contrario, le funzioni possono restituire uno dei valori seguenti:
Problema | Restituzione |
---|---|
x = ±INFINITY |
x |
x = ±0 |
x |
x = NaN |
NaN |
Gli errori vengono segnalati come specificato in _matherr
.
Osservazioni:
Poiché C++ consente l'overload, è possibile chiamare gli overload di trunc
che accettano e restituiscono i tipi float
e long double
. In un programma C, a meno che non si usi la <macro tgmath.h> per chiamare questa funzione, trunc
accetta sempre e restituisce un oggetto double
.
Se si utilizza la <macro tgmath.h>trunc()
, il tipo dell'argomento determina quale versione della funzione è selezionata. Per informazioni dettagliate, vedere La matematica generica dei tipi.
Poiché i valori a virgola mobile più grandi sono numeri interi esatti, questa funzione non sovrascionda autonomamente. Tuttavia, è possibile causare l'overflow della funzione restituendo un valore in un tipo Integer.
È anche possibile eseguire un arrotondamento verso il basso convertendo in modo implicito un valore da virgola mobile a integrale. Ciò è possibile solo per i valori che possono essere archiviati nel tipo di destinazione.
Requisiti
Funzione | Intestazione C | Intestazione C++ |
---|---|---|
trunc , truncf , truncl |
<math.h> | <cmath> |
trunc macro |
<tgmath.h> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Vedi anche
Informazioni di riferimento sulle funzioni alfabetiche
floor
, floorf
, floorl
ceil
, ceilf
, ceill
round
, roundf
, roundl