trunc
, , truncf
truncl
Określa najbliższą liczbę całkowitą mniejszą lub równą określonej wartości zmiennoprzecinkowej.
Składnia
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
Wartość, która ma być obcięta.
Wartość zwracana
Jeśli operacja powiedzie się, funkcje zwracają wartość całkowitą w postaci zaokrąglonej x
do zera.
W przeciwnym razie funkcje mogą zwrócić jedną z następujących wartości:
Problem | Powrót |
---|---|
x = ±INFINITY |
x |
x = ±0 |
x |
x = NaN |
NaN |
Błędy są zgłaszane zgodnie z określonymi w pliku _matherr
.
Uwagi
Ponieważ język C++ umożliwia przeciążenie, można wywołać przeciążenia tych operacji trunc
, które przyjmują i zwracają float
i long double
typy. W programie języka C, chyba że używasz makra <tgmath.h> do wywołania tej funkcji, trunc
zawsze przyjmuje i zwraca wartość double
.
Jeśli używasz makra <tgmath.h>trunc()
, typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .
Ponieważ największe wartości zmiennoprzecinkowe są dokładnymi liczbami całkowitymi, ta funkcja nie przepełni się samodzielnie. Jednak może to spowodować przepełnienie funkcji przez zwrócenie wartości do typu liczby całkowitej.
Można również zaokrąglić w dół, niejawnie konwertując zmiennoprzecinkowe na całkowitoliczebną; jednak jest to ograniczone do wartości, które mogą być przechowywane w typie docelowym.
Wymagania
Function | Nagłówek języka C | Nagłówek języka C++ |
---|---|---|
trunc , , truncf truncl |
<math.h> | <cmath> |
trunc Makro |
<tgmath.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
Odwołanie do funkcji alfabetycznej
floor
, , floorf
floorl
ceil
, , ceilf
ceill
round
, , roundf
roundl