gpt4 book ai didi

c++ - 避免 Int 进行双类型转换舍入?

转载 作者:行者123 更新时间:2023-11-30 04:47:11 24 4
gpt4 key购买 nike

<分区>

我通过将整数除以 10 的幂将 int 转换为 double。对于具有 7 位或更多位数的整数,似乎在我执行舍入时执行将 int 转换为 double。为什么会发生这种情况,如何避免这种舍入?

#include <iostream>
using namespace std;

double add_decimals(int x, int decimal_places)
{
double ret = 1.0 * x;
cout << "x= " << x << endl;
cout << "ret before changes= " << ret << endl;
for (int i = 0; i < decimal_places; ++i)
{
ret /= 10;
}
return ret;
}

int main()
{
double d = add_decimals(1234566, 2);
cout << "d= " << d << endl;
}

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