舍入最接近的数字

时间:2011-03-09 09:05:49

标签: iphone objective-c

我尝试了最近的代码。这不是我正在寻找的代码。 我试着将最接近的数字0.00750舍入到这个0.0080如何在小数点前做?

我想要这样的事情:

0.0089 => 0.0090
0.0021 => 0.0020
0.1022 => 0.1020

2 个答案:

答案 0 :(得分:2)

math.h包含double round(double),它将解决舍入部分。要舍入到一些小数位,请尝试类似:

double roundPlaces(double d, int places)
{
   double factor = pow(10, places); // pow also in math.h

   return round(d * factor) / factor;
}

然后为您的示例roundPlaces(0.0089, 3)生成0.009

答案 1 :(得分:1)

您可以使用标准C函数制作自己的函数...

C ++ std库中没有round()。你可以自己写一个:

double round(double d)
{
  return floor(d + 0.5);
}

(你可以在目标C中使用C函数)