我试图在c ++中使用%运算符,我已经在java中做了同样的事情并且工作正常。
这里有什么东西我不见了或者这是不允许的,抱歉我是c ++的新手所以可能会在这里犯一个非常愚蠢的错误
double i = full_price_in_pence / 100.0;
double j = full_price_in_pence % 100;
int final_pounds = (int) i;
int final_pence = (int) j;
这些都是双值
full_price_in_pence
full_price_in_pounds
答案 0 :(得分:9)
您应该使用std::fmod()
标准标题中的<cmath>
函数:
#include <cmath>
// ...
double j = fmod(full_price_in_pence, 100);
答案 1 :(得分:3)
%
仅适用于整数,您正在寻找fmod
。
答案 2 :(得分:2)
您不能将%运算符用于双变量。只允许int变量这样做。
你可以从另一个问题中查看一些好的答案;你可以找到它们here。
答案 3 :(得分:1)
不,这是不允许的。 %
运算符的操作数必须是整数类型。请改用std::fmod()
。