trunc
, , truncf
truncl
Určuje nejbližší celé číslo, které je menší nebo rovno zadané hodnotě s plovoucí desetinou čárkou.
Syntaxe
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
Parametry
x
Hodnota, která se má zkrátit.
Vrácená hodnota
V případě úspěchu funkce vrátí celočíselnou x
hodnotu , zaokrouhlenou na nulu.
V opačném případě můžou funkce vrátit jednu z následujících hodnot:
Problém | Zpět |
---|---|
x = ±INFINITY |
linka |
x = ±0 |
linka |
x = NaN |
Není číslo |
Chyby jsou hlášeny, jak je uvedeno v _matherr
.
Poznámky
Vzhledem k tomu, že jazyk C++ umožňuje přetížení, můžete volat přetížení trunc
, která přebírají a vracejí float
a long double
typy. Pokud v programu jazyka C nepoužíváte <makro tgmath.h> k volání této funkce, trunc
vždy přebírá a vrací hodnotu double
.
Pokud použijete <makro tgmath.h>trunc()
, typ argumentu určuje, která verze funkce je vybrána. Podrobnosti najdete v tématu Matematika pro obecné typy.
Vzhledem k tomu, že největší hodnoty s plovoucí desetinou čárkou jsou přesná celá čísla, nebude tato funkce přetékat sama. Funkci však můžete způsobit přetečení vrácením hodnoty do celočíselného typu.
Můžete také zaokrouhlit dolů implicitním převodem z plovoucí desetině na integrální; To je však omezeno na hodnoty, které lze uložit v cílovém typu.
Požadavky
Function | Záhlaví jazyka C | Hlavička jazyka C++ |
---|---|---|
trunc , , truncf truncl |
<math.h> | <cmath> |
trunc makro |
<tgmath.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Viz také
Abecední odkaz na funkci
floor
, , floorf
floorl
ceil
, , ceilf
ceill
round
, , roundf
roundl