fmod (x, y) = x - tquote * y
其中tquote被截断,即x / y的结果(四舍五入)。
double fmod(double x, double y); float fmod(float x, float y); long double fmod(long double x, long double y); double fmod(Type1 x, Type2 y); //用于其他算术类型组合的附加重载
fmod()函数接受两个参数,并返回double,float或long double类型的值。此函数在<cmath>头文件中定义。
x:分子的值。
y:分母的值。
fmod()函数返回x / y的浮点余数。如果分母y为零,则fmod()返回NaN(非数字)。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x = 7.5, y = 2.1;
double result = fmod(x, y);
cout << "余数 " << x << "/" << y << " = " << result << endl;
x = -17.50, y = 2.0;
result = fmod(x, y);
cout << "余数 " << x << "/" << y << " = " << result << endl;
return 0;
}运行该程序时,输出为:
余数 7.5/2.1 = 1.2 余数 -17.5/2 = -1.5
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x = 12.19, result;
int y = -3;
result = fmod(x, y);
cout << "余数 " << x << "/" << y << " = " << result << endl;
y = 0;
result = fmod(x, y);
cout << "余数 " << x << "/" << y << " = " << result << endl;
return 0;
}运行该程序时,输出为:
余数 12.19/-3 = 0.19 余数 12.19/0 = -nan