如何将浮点值四舍五入到最接近的十进制值?

时间:2013-09-12 21:10:11

标签: c decimal

假设:

double value = -59.5968;

代码必须将值显示为60:

sprintf(array, "%.0f", value);

除非0为-0.3959,否则显示为-0;它应该只显示0到-0.3959。

你能提出一些方法来克服这个问题吗?

代码必须符合MISRA standard;它适用于汽车领域。

1 个答案:

答案 0 :(得分:0)

C99和C11标准提供了大量与浮点数舍入相关的函数,包括:

其中,round()rint()nearbyint()是您可能正在寻找的。