gpt4 book ai didi

C++类型转换问题

转载 作者:可可西里 更新时间:2023-11-01 15:49:12 26 4
gpt4 key购买 nike

考虑以下代码:

#include <iostream>

using namespace std;

int aaa(int a) {
cout << a * 0.3 << endl;
return a * 0.3;
}

int main()
{
cout << aaa(35000);
}

它打印出:

10500
10499

为什么输出不同?

我有一个使用“return a * 3/10;”的解决方法但我不喜欢它。

编辑:

发现执行“return float(a * 0.3);”给出期望值;

最佳答案

0.3*35000 的结果是一个 float ,略小于 10500。打印时四舍五入为 10500,但当强制转换为 int 时,小数位被丢弃,结果为 10499。

关于C++类型转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17380509/

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