我目前使用sprintf
向用户显示了一个圆形输出。
应用程序需要根据用户看到的此值做出决策,以便用户可以验证应用程序是否正常工作。目前内部没有使用舍入,因此当用户看到9.8的结果时,内部代码看起来像9.7999999999999996,不等于9.8
环顾四周,我找不到C ++中的圆形函数,虽然提出了许多关于如何舍入的很好的例子我担心它们可能与sprintf
在所有情况下都会完全匹配。
所以目前我正在使用sprintf
的输出转换回一个数字来控制我的逻辑。
有关更清洁方法的任何建议吗? (使用逻辑演示功能感觉不对)
答案 0 :(得分:0)
您可能需要考虑下限并执行以下操作:
float p = 7.9999996;
float q= floor((p+0.005)*100)/100;
以两位x.xx
进行舍入对于负数,您需要以相同的方式使用ceil:)