在c ++中使用%on double

时间:2013-03-22 15:44:06

标签: c++ operators double

我试图在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

4 个答案:

答案 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()