set precision return语句C ++

时间:2015-10-11 17:51:06

标签: c++ precision iomanip

我想从具有设定精度的函数返回一个double!这有可能吗?我希望精度为10 -5

例如:

double f(double a ,double b)
{
  //something like return.setprecision(6); 
  return (a+b)/2;
}

2 个答案:

答案 0 :(得分:2)

假设你的意思是截断为5位小数:

乘以10 5 。舍入到整数。将结果除以10 5

对于舍入,请使用标准库,以避免超出整数类型的范围。

请注意,结果只适用于可以精确表示的数字。浮点数的常见表示是二进制的,尽管C ++标准允许十进制表示。这意味着使用大多数数字,结果将不准确。

答案 1 :(得分:0)

不,不可能。双精度取决于硬件/ CPU等。

无论如何 - 为什么这样做?