gpt4 book ai didi

c - 从 float 转换为 int 时,float 结果如何舍入为整数?

转载 作者:行者123 更新时间:2023-11-30 15:49:38 25 4
gpt4 key购买 nike

从 float 转换为 int 时,float 结果如何舍入为整数?

有时我会在整数变量之间进行一些复杂的算术运算(包括乘法、除法等),然后将结果再次转换为 int。

示例:

result = (int) ((int1 + int2) * int3 / int4);

有时结果会四舍五入到最接近的整数,有时会四舍五入到较低的整数,即使浮点结果更接近较高的整数,有时结果会向上或向下四舍五入 2 个整数(即,如果结果是 -150.69,结果可能 = -149)。

float 到 int 的转换有一定的规律吗?还是视情况而定?

提前致谢。

<小时/>

示例:

int1 = 31;
int2 = -1366;
int3 = 50;
int4 = 1000;

结果应该是-66.75,但返回的是-65。

最佳答案

在您的代码中,除非 int1int4 实际上是 float ,否则您没有任何浮点类型,因此您的问题与您的代码无关。

就问题本身而言,浮点到整数的转换总是通过截断(丢弃小数部分)进行。对于舍入,标准库有许多函数,例如 floorceilround 等,可以执行不同类型的舍入。

关于c - 从 float 转换为 int 时,float 结果如何舍入为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16171199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com