gpt4 book ai didi

c++ - 匹配 sprintf 的舍入行为

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

我目前使用 sprintf 向用户呈现一个四舍五入的输出。

应用程序需要根据用户看到的这个值做出决定,以便用户可以验证应用程序是否正常工作。目前内部没有使用舍入,所以当用户看到 9.8 的结果时,内部代码看到类似 9.7999999999999996 的东西,它不等于 9.8

环顾四周我找不到 C++ 中的舍入函数,尽管提供了很多关于如何舍入的很好的例子我担心它们可能不完全匹配 sprintf 在所有情况下都会做的事情.

所以目前我正在使用转换回数字的 sprintf 的输出来控制我的逻辑。

对于更清洁的方法有什么建议吗? (用表示函数做逻辑感觉不对)

最佳答案

你可能想考虑 floor 并做这样的事情:

float p = 7.9999996;
float q= floor((p+0.005)*100)/100;

以两位数字舍入 x.xx

对于负数,您需要以相同的方式使用 ceil :)

关于c++ - 匹配 sprintf 的舍入行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20164221/

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