我有一个双变量double dub1。如果它是15的整数倍,我想得到除法的结果(例如30/15 - > 2 ok)。如果它不是整数倍,我想将其四舍五入到较高值(例如20/15 - > 2 ok)。我应该如何处理第一部分。
int divres = dub1/15; //For the second part
divres++;
答案 0 :(得分:4)
使用<cmath>
中的std::ceil
功能:
int divres = static_cast<int>(std::ceil(dub1/15));
好的,如果没有ceil
,您可以通过以下方式使用std::fmod
:
int divres = dub1/15;
if (std::fmod(dub1, 15) != 0) {
divres++;
}
答案 1 :(得分:0)
int divres = dub1/15; //For the second part
if(dub1 - (15*divres) >.000001) // check to see if it is not equal
divres++;