-1

我想从一个具有设定精度的函数中返回一个双精度值!这可能吗?我想要 10 -5的准确度!

例如 :

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

2 回答 2

3

假设您的意思是截断到小数点后 5 位:

乘以 10 5。四舍五入为整数。将结果除以 10 5

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


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

于 2015-10-11T17:53:33.803 回答
0

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

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

于 2015-10-11T17:53:10.043 回答