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()函數(shù)接受兩個參數(shù),并返回double,float或long double類型的值。此函數(shù)在<cmath>頭文件中定義。
x:分子的值。
y:分母的值。
fmod()函數(shù)返回x / y的浮點余數(shù)。如果分母y為零,則fmod()返回NaN(非數(shù)字)。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x = 7.5, y = 2.1;
double result = fmod(x, y);
cout << "余數(shù) " << x << "/" << y << " = " << result << endl;
x = -17.50, y = 2.0;
result = fmod(x, y);
cout << "余數(shù) " << x << "/" << y << " = " << result << endl;
return 0;
}運行該程序時,輸出為:
余數(shù) 7.5/2.1 = 1.2 余數(shù) -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 << "余數(shù) " << x << "/" << y << " = " << result << endl;
y = 0;
result = fmod(x, y);
cout << "余數(shù) " << x << "/" << y << " = " << result << endl;
return 0;
}運行該程序時,輸出為:
余數(shù) 12.19/-3 = 0.19 余數(shù) 12.19/0 = -nan