gpt4 book ai didi

c++ - typecast 的舍入问题

转载 作者:行者123 更新时间:2023-11-28 04:25:23 27 4
gpt4 key购买 nike

我在计算小费金额时遇到类型转换转换问题。

const double TIP_PERCENTAGE = .15;

cout << static_cast<int>(TIP_PERCENTAGE * 100.00);

return 0;

我得到 14 而不是 .15 x 100 = 15,然后转换为 15 的整数。我可以看出它正在截断答案,但我不确定为什么或如何得到小于 15 的值比如14.999等

最佳答案

摆脱这个问题的最简单方法是在转换为 int 之前使用 std::round:

static_cast<int>(std::round(TIP_PERCENTAGE * 100.0))

关于c++ - typecast<int> 的舍入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54450452/

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