Udostępnij za pośrednictwem


trunc, , truncftruncl

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 xdo 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, , truncftruncl <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, , floorffloorl
ceil, , ceilfceill
round, , roundfroundl