Condividi tramite


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