c++ - 将两个整数相除并对结果进行四舍五入,不使用 float

标签 c++

我需要将两个数字相除并四舍五入。有没有更好的方法来做到这一点?

int myValue = (int) ceil( (float)myIntNumber / myOtherInt );

我发现必须施放两个不同的时间有点矫枉过正。 (extern int cast只是为了关闭警告)

注意我必须在内部强制转换才能 float

int a = ceil(256/11); //> Should be 24, but it is 23
              ^example

最佳答案

假设 myIntNumbermyOtherInt 都是正数,你可以这样做:

int myValue = (myIntNumber + myOtherInt - 1) / myOtherInt;

关于c++ - 将两个整数相除并对结果进行四舍五入,不使用 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17005364/

相关文章:

c++ - 构造函数中的C++封装和引用

c++ - 将内容从一个指针复制到另一个指针

c++ - C++ 中的表达式 SFINAE 和硬错误

c++ - 使用 atoi 和错误 :unresolved external symbol

C++:打印/分配简单数组打印乱码

c++ - 从字符串中提取不同数据类型的变量

c++ - 使用和不使用 INCLUDED_HEADERNAME_H 定义 header 有什么区别

c++ - 调用 std::set<Type*>::find 时避免 const_cast

c++ - C++(0x) 中是否存在无操作 "do nothing"函数对象?

C++ 无延迟地写入控制台