我使用setprecision&固定,但我想切断尾随零,我该怎么做cout?
#include <iostream>
#include<iomanip>
int main()
{
double b = 132.7489;
double a = 49.932;
double e = a + b;
std::cout << std::fixed;
std::cout << std::setprecision(20);
std::cout << e;
}
如何告诉程序自动切断精确答案的尾随小数位,如计算器。对不起,这是我第一次来这里。我习惯了Javascript&amp;我从未遇到过精确数学问题。我到处搜索了。
答案 0 :(得分:2)
这样做......
#include <iostream>
using namespace std;
int main()
{
float f = 42.43500000f, f2 = 25.004300;
cout << defaultfloat << f << endl;
cout << defaultfloat << f2 << endl;
return 0;
}
defaultfloat
是std名称空间中定义的格式标志。
答案 1 :(得分:0)
如果打印是您唯一关注的问题,您可以使用printf
和%g
格式。
默认情况下会打印六位有效数字,您可以使用足够长的数字宽度,例如.10
。
printf("%.10g",e);
所以:
#include <iostream>
#include<cstdio>
int main()
{
double b = 132.7489;
double a = 49.932;
double e = a + b;
printf("%.10g",e);
}