圆()在C+中浮动

圆()在C+中浮动

我需要一个简单的浮点舍入函数,因此:

double round(double);round(0.1) = 0round(-0.1) = 0round(-0.9) = -1

我能找到ceil()floor()在数学里.但是.round().

它是以另一个名称出现在标准C+库中,还是丢失了?


动漫人物
浏览 490回答 3
3回答

德玛西亚99

C+98标准库中没有圆形()。不过你可以自己写一个。的实现如下:四舍五入:double round(double d){   return floor(d + 0.5);}C+98标准库中没有圆函数的可能原因是它实际上可以不同的方式实现。以上是一种常见的方式,但也有其他方式,如四舍五入,如果你要做很多四舍五入,这就不那么偏颇了,通常情况下也会更好;不过,实现起来有点复杂。

BIG阳

Boost提供了一组简单的四舍五入函数。#include&nbsp;<boost/math/special_functions/round.hpp>double&nbsp;a&nbsp;=&nbsp;boost::math::round(1.5);&nbsp;//&nbsp;Yields&nbsp;2.0int&nbsp;b&nbsp;=&nbsp;boost::math::iround(1.5); &nbsp;//&nbsp;Yields&nbsp;2&nbsp;as&nbsp;an&nbsp;integer有关更多信息,请参见Boost文档.编辑*自C+11以来,有std::round,&nbsp;std::lround,和std::llround.
打开App,查看更多内容
随时随地看视频慕课网APP