我必须使用'%'和双数字,但在C++中它不起作用.例:
double x;
temp = x%10;
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
error C2296: '%' : illegal, left operand has type 'double'
Run Code Online (Sandbox Code Playgroud)
如何在不将数字从double转换为整数的情况下解决此问题?如果我转换它,我将失去小部分,我不想要.
还有另一种选择吗?
Nem*_*ric 14
%没有为双打定义,但您可以使用fmod:
计算除法的余数返回numer/denom的浮点余数(向零舍入):
来自http://www.cplusplus.com/reference/cmath/fmod/的示例(适用于C++):
#include <cmath> /* fmod */
#include <iostream>
int main ()
{
std::cout << "fmod of 5.3 / 2 is " << std::fmod (5.3, 2) << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)