我很好奇,想知道怎样才能把一个数字舍入到最接近的整数.例如,如果我有:

int a = 59 / 4;

如果以浮点计算,则为14.75;如何将结果存储为"a"中的15?

推荐答案

int a = 59.0f / 4.0f + 0.5f;

这仅在分配给int时有效,因为它会丢弃"."后面的任何内容

Edit:

unsigned int round_closest(unsigned int dividend, unsigned int divisor)
{
    return (dividend + (divisor / 2)) / divisor;
}

C++相关问答推荐

VS代码输入需要多次

C中的整字母后缀i是什么

使用额外的公共参数自定义printf

当我运行/调试C程序时,Malloc()似乎正在将&q;r\r...&q;赋值给一个指针,我不确定为什么?

ATmega328P EEPROM未写入

在列表中插入Int指针(C)

在 struct 中强制转换空指针

是什么让numpy.sum比优化的(自动矢量化的)C循环更快?

如何在STM8项目中导入STM8S/A标准外设库(ST VisualDeveloper)?

GTK3按钮信号错误

在WSL关闭/重新启动后,是什么原因导致共享对象依赖关系发生更改?

致命错误:ASM/rwan ce.h:没有这样的文件或目录.符号链接还不够

CS50判断灯泡运动的问题,判断时多出一个灯泡,但不在终端上

用C++构建和使用DLL的困惑

Valgrind用net_pton()抱怨

为什么我的旧式&q;函数在传递浮点数时会打印2?

哪个首选包含第三个库S头文件?#INCLUDE;文件名或#INCLUDE<;文件名&>?

程序如何解释变量中的值

浮点正零何时不全为零?

当另一个指向 const 的指针观察到数据时,通过指针更改数据是否安全?