fraction(x) returns the fractional part of the model representation of x.
Fortran 95 and later
y = fraction(x)
x - The type of the argument shall be a real.The return value is of the same type and kind as the argument. The fractional part of the model representation of x is returned; it is x * radix(x)**(-exponent(x)).
program test_fraction
real :: x
x = 178.1387e-4
print *, fraction(x), x * radix(x)**(-exponent(x))
end program test_fraction