1

鉴于:

double value = -59.5968;

代码必须将值显示为 60:

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

这有效,除非当值 -0.3959 的 0 显示为 -0 时;它应该只显示 0 表示 -0.3959。

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

代码必须符合MISRA 标准;它用于汽车环境。

4

1 回答 1

0

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

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

于 2013-09-13T14:51:26.867 回答