gpt4 book ai didi

c++ - 四舍五入 - .5 - sprintf

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

我使用以下代码四舍五入到 2dp:

sprintf(temp,"%.2f",coef[i]); //coef[i] returns a double

成功将6.666四舍五入到6.67,但是四舍五入的时候不能正常工作5.555。它返回 5.55,而它应该(至少在我看来)返回 5.56。

当下一个数字是 5 时,如何让它四舍五入?即返回 5.56。

编辑:我现在意识到这是在发生,因为当我用 cin 输入 5.555 时,它得到保存为 5.554999997。

我将尝试分两个阶段进行舍入 - 首先是 3dp,然后是 2dp。任何其他(更优雅的)想法?

最佳答案

看来您必须使用数学舍入函数才能正确舍入。

printf("%.2f %.2f\n", 5.555, round(5.555 * 100.)/100.);

这会在我的机器上产生以下输出:

5.55 5.56

关于c++ - 四舍五入 - .5 - sprintf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/994764/

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