c++里怎么限制输出小数位数

c++里怎么限制输出小数位数 不算整数部分,单独限制小数
2024-10-30 03:20:08
推荐回答(5个)
回答1:

++ 标准输出如何控制小数点后位数
#include
#include
using namespace std;

int main( void )
{
const double value = 12.3456789;

cout << value << endl; // 默认以6精度,所以输出为 12.3457
cout << setprecision(4) << value << endl; // 改成4精度,所以输出为12.35
cout << setprecision(8) << value << endl; // 改成8精度,所以输出为12.345679
cout << fixed << setprecision(4) << value << endl; // 加了fixed意味着是固定点方式显示,所以这里的精度指的是小数位,输出为12.3457
cout << value << endl; // fixed和setprecision的作用还在,依然显示12.3457
cout.unsetf( ios::fixed ); // 去掉了fixed,所以精度恢复成整个数值的有效位数,显示为12.35
cout << value << endl;
cout.precision( 6 ); // 恢复成原来的样子,输出为12.3457
cout << value << endl;
}

回答2:

double
a=12444.489583484;
CString
tmp;
tmp.Format("%7.4f",a);//保留小数点前7位,小数点后4位
若满意请及时采纳。谢谢

回答3:

#include
#include
using namespace std;

int main()
{
double a = 1234.5678;
cout.setf(ios::fixed, ios::floatfield);
cout.precision(2);
cout << a << endl;
printf("%.2f\n", a);
}

回答4:

%.5f小数点后面的就是 限定的小数位数 ~

回答5:

float fA = 3.1415926f;
printf("%2f",fA);