std::modf

From cppreference.com
 
 
 
Common mathematical functions
Functions
Basic operations
remainder (C++11)
remquo (C++11)
fma (C++11)
fmax (C++11)
fmin (C++11)
fdim (C++11)
nan
nanf
nanl
(C++11)
(C++11)
(C++11)
Exponential functions
exp
exp2 (C++11)
expm1 (C++11)
log
log10
log1p (C++11)
log2 (C++11)
Power functions
sqrt
cbrt (C++11)
hypot (C++11)
pow
Trigonometric and hyperbolic functions
sinh
cosh
tanh
asinh (C++11)
acosh (C++11)
atanh (C++11)
Error and gamma functions
erf (C++11)
erfc (C++11)
lgamma (C++11)
tgamma (C++11)
Nearest integer floating point operations
ceil
floor
round
lround
llround
(C++11)
(C++11)
(C++11)
trunc (C++11)
nearbyint (C++11)
rint
lrint
llrint
(C++11)
(C++11)
(C++11)
Floating point manipulation functions
ldexp
scalbn
scalbln
(C++11)
(C++11)
ilogb (C++11)
logb (C++11)
frexp
modf
nextafter
nexttoward
(C++11)
(C++11)
copysign (C++11)
Classification
fpclassify (C++11)
isfinite (C++11)
isinf (C++11)
isnan (C++11)
isnormal (C++11)
signbit (C++11)
Macro constants
FP_NORMAL
FP_SUBNORMAL
FP_ZERO
FP_INFINITE
FP_NAN
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
FLT_EVAL_METHOD (C++11)
 
Defined in header <cmath>
float       modf( float x, float* iptr );
double      modf( double x, double* iptr );
long double modf( long double x, long double* iptr );

Decomposes given floating point value x into integral and fractional parts, each having the same type and sign as x. The integral part (in floating-point format) is stored in the object pointed to by iptr.

Contents

[edit] Parameters

arg - floating point value
iptr - pointer to floating point value to store the integral part to

[edit] Return value

The fractional part of x with the same sign as x. The integral part is put into the value pointed to by iptr.

[edit] Example

#include <iostream>
#include <cmath>
int main()
{
    double f = 123.45;
    double f3;
    double f2 = std::modf(f, &f3);
    std::cout << "Given the number " << f  << ", "
              << "modf() makes " << f3 << " and " << f2 << '\n';
 
    f = -3.21;
    f2 = std::modf(f, &f3);
    std::cout << "Given the number " << f  << ", "
              << "modf() makes " << f3 << " and " << f2 << '\n';
}

Output:

Given the number 123.45, modf() makes 123 and 0.45
Given the number -3.21, modf() makes -3 and -0.21

[edit] See also

(C++11)
nearest integer not greater in magnitude than the given value
(function)