gpt4 book ai didi

c - 为什么 float 会这样做?

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:00 25 4
gpt4 key购买 nike

<分区>

我在玩普通的旧 C。我只是在计算一些便士,然后在一定次数的迭代中以指数方式增加数量。在这个过程结束时,我有大量的美分/便士要在屏幕上显示为美元和美分。

我的输出电流是这样的:

"You have 805306365 pennies"

我尝试通过将新变量定义为 float 来将此数字转换为美元:

float totalD = total / 100.00;

输出显示 8053063.50。为什么这个int的除法会造成15美分的损失?如果有帮助,我正在尝试通过“printf”显示它:

printf("You have %.2f dollars", totalD);

我知道我可以将我的美分转换成一个字符串并尝试按照我喜欢的方式格式化它,但我很困惑为什么 float 会这样做。谁能告诉我为什么会发生这种情况以及如何处理?

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