我想从具有设定精度的函数返回一个double!这有可能吗?我希望精度为10 -5 !
例如:
double f(double a ,double b)
{
//something like return.setprecision(6);
return (a+b)/2;
}
答案 0 :(得分:2)
假设你的意思是截断为5位小数:
乘以10 5 。舍入到整数。将结果除以10 5 。
对于舍入,请使用标准库,以避免超出整数类型的范围。
请注意,结果只适用于可以精确表示的数字。浮点数的常见表示是二进制的,尽管C ++标准允许十进制表示。这意味着使用大多数数字,结果将不准确。
答案 1 :(得分:0)
不,不可能。双精度取决于硬件/ CPU等。
无论如何 - 为什么这样做?