有关C++小数输出?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关C++小数输出?相关的知识,希望对你有一定的参考价值。

请问下各位大佬,为什么输出出来的数字会自动跳过第六位非0数

这是因为默认的输出是保留6位有效数字。

如果你要以n位小数输出,可以这样:

1

#include<iomanip>

2

int n=8;

double d=1.12345678912;

//设置成以n位小数输出

cout<<fixed<<setprecision(n);

cout<<d<<endl;

如:

参考技术A 这不是“跳过第六位非0数”,而是自动四舍五入,保留6位有效数字(6个数字)。
最方便的方法,可以改用printf("%.8f\n",num1);来实现四舍五入输出8位小数。

c++学到一维数组了怎么在cout里保留两位小数?

比如把11输出成11.00

一、c语言中可以使用printf函数

如:

float f=11;

double d=11;

printf("f=%.2f,d=%.2Lf\\n",f,d);

这在c++中依然可以使用。

二、如果非要使用cout,可以这样

1

#include <iomanip>

2

//设置输出为固定精度,两位小数

cout<<fixed<<setprecision(2);

下面是一个例子:

#include <iostream>

#include <iomanip>

using namespace std;

int main()

double d1=123.454999;

double d2=45678.66511111;

cout<<fixed<<setprecision(2);

cout<<d1<<","<<d2<<endl;

return 0;

参考技术A 您好,很高兴回答您的问题。
在c++中,保留小数位数的方法同c语言中是一样的。使用%.2f就可以实现。若还规定了输出数据的总长度,那么还要在小数点前给出具体数字。如要求总长度为5位,小数位为2位的话,那么输出格式为%5.2f即可。若输出的总长度超过了5,那么以实际为准,但是小数位只能是2位的。

以上是关于有关C++小数输出?的主要内容,如果未能解决你的问题,请参考以下文章

C++学习44 格式化输出,C++输出格式控制

c++中怎么让输出的数为保留两位小数的形式

c++中如何输出保留三位小数的浮点数

C++输出固定格式的小数

C++输出固定格式的小数

C++中,如何保留指定的小数位,不是COUT输出~