Sdílet prostřednictvím


trunc, , truncftruncl

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 xhodnotu , 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, , truncftruncl <math.h> <cmath>
trunc makro <tgmath.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Viz také

Abecední odkaz na funkci
floor, , floorffloorl
ceil, , ceilfceill
round, , roundfroundl