Trunc - C++ Reference

cplusplus.com
  • TUTORIALS
  • REFERENCE
  • ARTICLES
  • FORUM

C++

  • Tutorials
  • Reference
  • Articles
  • Forum

Reference

  • C library:

    • <cassert> (assert.h)
    • <cctype> (ctype.h)
    • <cerrno> (errno.h)
    • C++11 <cfenv> (fenv.h)
    • <cfloat> (float.h)
    • C++11 <cinttypes> (inttypes.h)
    • <ciso646> (iso646.h)
    • <climits> (limits.h)
    • <clocale> (locale.h)
    • <cmath> (math.h)
    • <csetjmp> (setjmp.h)
    • <csignal> (signal.h)
    • <cstdarg> (stdarg.h)
    • C++11 <cstdbool> (stdbool.h)
    • <cstddef> (stddef.h)
    • C++11 <cstdint> (stdint.h)
    • <cstdio> (stdio.h)
    • <cstdlib> (stdlib.h)
    • <cstring> (string.h)
    • C++11 <ctgmath> (tgmath.h)
    • <ctime> (time.h)
    • C++11 <cuchar> (uchar.h)
    • <cwchar> (wchar.h)
    • <cwctype> (wctype.h)
  • Containers:

    • C++11 <array>
    • <deque>
    • C++11 <forward_list>
    • <list>
    • <map>
    • <queue>
    • <set>
    • <stack>
    • C++11 <unordered_map>
    • C++11 <unordered_set>
    • <vector>
  • Input/Output:

    • <fstream>
    • <iomanip>
    • <ios>
    • <iosfwd>
    • <iostream>
    • <istream>
    • <ostream>
    • <sstream>
    • <streambuf>
  • Multi-threading:

    • C++11 <atomic>
    • C++11 <condition_variable>
    • C++11 <future>
    • C++11 <mutex>
    • C++11 <thread>
  • Other:

    • <algorithm>
    • <bitset>
    • C++11 <chrono>
    • C++11 <codecvt>
    • <complex>
    • <exception>
    • <functional>
    • C++11 <initializer_list>
    • <iterator>
    • <limits>
    • <locale>
    • <memory>
    • <new>
    • <numeric>
    • C++11 <random>
    • C++11 <ratio>
    • C++11 <regex>
    • <stdexcept>
    • <string>
    • C++11 <system_error>
    • C++11 <tuple>
    • C++11 <type_traits>
    • C++11 <typeindex>
    • <typeinfo>
    • <utility>
    • <valarray>

<cmath> (math.h)

  • functions

    • abs
    • acos
    • C++11 acosh
    • asin
    • C++11 asinh
    • atan
    • atan2
    • C++11 atanh
    • C++11 cbrt
    • ceil
    • C++11 copysign
    • cos
    • cosh
    • C++11 erf
    • C++11 erfc
    • exp
    • C++11 exp2
    • C++11 expm1
    • fabs
    • C++11 fdim
    • floor
    • C++11 fma
    • C++11 fmax
    • C++11 fmin
    • fmod
    • C++11 fpclassify
    • frexp
    • C++11 hypot
    • C++11 ilogb
    • C++11 isfinite
    • C++11 isgreater
    • C++11 isgreaterequal
    • C++11 isinf
    • C++11 isless
    • C++11 islessequal
    • C++11 islessgreater
    • C++11 isnan
    • C++11 isnormal
    • C++11 isunordered
    • ldexp
    • C++11 lgamma
    • C++11 llrint
    • C++11 llround
    • log
    • log10
    • C++11 log1p
    • C++11 log2
    • C++11 logb
    • C++11 lrint
    • C++11 lround
    • modf
    • C++11 nan
    • C++11 nanf
    • C++11 nanl
    • C++11 nearbyint
    • C++11 nextafter
    • C++11 nexttoward
    • pow
    • C++11 remainder
    • C++11 remquo
    • C++11 rint
    • C++11 round
    • C++11 scalbln
    • C++11 scalbn
    • C++11 signbit
    • sin
    • sinh
    • sqrt
    • tan
    • tanh
    • C++11 tgamma
    • C++11 trunc
  • macro constants

    • HUGE_VAL
    • C++11 HUGE_VALF
    • C++11 HUGE_VALL
    • C++11 INFINITY
    • C++11 math_errhandling
    • NAN
  • types

    • C++11 double_t
    • float_t
  • Reference
  • <cmath>
  • trunc
function <cmath> <ctgmath> trunc double trunc ( double x); float truncf ( float x);long double truncl (long double x); double trunc ( double x); float trunc ( float x);long double trunc (long double x); double trunc (T x); // additional overloads for integral types Truncate value Rounds x toward zero, returning the nearest integral value that is not larger in magnitude than x. Header <tgmath.h> provides a type-generic macro version of this function. Additional overloads are provided in this header (<cmath>) for the integral types: These overloads effectively cast x to a double before calculations (defined for T being any integral type).

Parameters

x Value to truncate.

Return Value

The nearest integral value that is not larger in magnitude than x (as a floating-point value).

Example

1234567891011121314151617 /* round vs floor vs ceil vs trunc */ #include <stdio.h> /* printf */ #include <math.h> /* round, floor, ceil, trunc */ int main () { const char * format = "%.1f \t%.1f \t%.1f \t%.1f \t%.1f\n"; printf ("value\tround\tfloor\tceil\ttrunc\n"); printf ("-----\t-----\t-----\t----\t-----\n"); printf (format, 2.3,round( 2.3),floor( 2.3),ceil( 2.3),trunc( 2.3)); printf (format, 3.8,round( 3.8),floor( 3.8),ceil( 3.8),trunc( 3.8)); printf (format, 5.5,round( 5.5),floor( 5.5),ceil( 5.5),trunc( 5.5)); printf (format,-2.3,round(-2.3),floor(-2.3),ceil(-2.3),trunc(-2.3)); printf (format,-3.8,round(-3.8),floor(-3.8),ceil(-3.8),trunc(-3.8)); printf (format,-5.5,round(-5.5),floor(-5.5),ceil(-5.5),trunc(-5.5)); return 0; }
Output:
value round floor ceil trunc ----- ----- ----- ---- ----- 2.3 2.0 2.0 3.0 2.0 3.8 4.0 3.0 4.0 3.0 5.5 6.0 5.0 6.0 5.0 -2.3 -2.0 -3.0 -2.0 -2.0 -3.8 -4.0 -4.0 -3.0 -3.0 -5.5 -6.0 -6.0 -5.0 -5.0

See also

floorRound down value (function)ceilRound up value (function)roundRound to nearest (function)rintRound to integral value (function) Home page | Privacy policy© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s Spotted an error? contact us

Từ khóa » Hàm Trunc Trong C++