C++里 要使输出的变量都保留小数点后1位 该怎么限制

比如这样 cout<<"T "<<temperature<<endl;
temperatrue这个变量本来是个可能有很多小数位的double类型数据,让它最后显示的时候只保留一位,怎么限制
setprecision(1)这个只限制它后面的一个变量还是对之后cout的所有变量都限制
如果只限制一个就OK了
如果对之后所有的变量都限制为了保留一位,那么怎么样才能恢复成系统默认的

在输出前面加上 cout << setiosflags(ios::fixed) << setprecision(1) 就行了,setprecision(1) 就是设置对应的精度,还要加上对应的头文件 #include。

#include 

#include

using namespace std;

#include 

int main()

{

double d = 12.5638;

cout << setiosflags(ios::fixed)

<< setprecision(1)

扩展资料:

c++的语言基础

整型

整数常量

整数常量是不带小数的数值,用来表示正负数。例2—2中Ox55、0x55ff、1000000都是c++语言的整数常量。

c++语言的整数常量有三种形式:十进制、八进制、十六迸制。

(1)十进制整数是由不以0开头的0~9的数字组成的数据。

(2)八进制整数是由以0开头的0~7的数字组成的数据。

(3)十六进制整数是由以0x或0x开头的0~9的数字及A~F的字母(大小写字母均可)组成的数据。

例如:

0,63,83是十进制数。

00,077,0123是八进制数。

0x0,Ox0,0x53,0x53,0x3f,0x3f是十六进制数。

整数常量的取值范围是有限的,它的大小取决于此类整型数的类型,与所使用的进制形式无关。

整型变量类型

整型变量类型有byte,short,int,long四种说明符,它们都是有符号整型变量类型。

(1)byte类型。

byte类型说明一个带符号的8位整型变量。由于不同的机器对多字节数据的存储方式不同,可能是从低字节向高字节存储,也可能是从高字节向低字节存储。这样,在分析网络协议或文件格式时,为了解决不同机器上的字节存储顺序问题,用byte类型来表示数据是合适的。

(2)short类型。

short类型说明一个带符号的16位整型变量。short类型限制了数据的存储应为先高字节,后低字节。

(3)int类型。

int类型说明一个带符号的32位整型变量。int类型是一种最丰富、最有效的类型。它最常用于计数、数组访问和整数运算。

(4)long类型。

long类型说明一个带符号的64位整型变量。对于大型计算,常常会遇到很大的整数,并超出int所表示的范围,这时要使用long类型。

<< endl;

return 0;

参考资料来源:百度百科--c++

参考资料来源:百度百科--变量

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-12

在输出前面加上 cout << setiosflags(ios::fixed) << setprecision(1) 就行了,setprecision(1) 就是设置对应的精度,还要加上对应的头文件 #include<iomanip>。

#include <iostream>
#include<iomanip>
using namespace std;

#include <stdio.h>

int main()
{
    double d = 12.5638;
    cout << setiosflags(ios::fixed)
         << setprecision(1)
         << d
         << endl;
    return 0;
}

第2个回答  2009-02-16
setprecision()格式控制只对它后面的第一个变量小数位起限制,如果你有多个的话,只能再写一遍。
建议用数组来存放变量,这样可以用循环输出,不用手动重复了。
第3个回答  2009-02-16
// 注意精度的设置不仅仅只针对一次输出有效,而是针对所有的后续输出
streamsize old = cout.precision();
cout<<fixed<<setprecision(1))<<temperature<<endl;
cout.unsetf(ios_base::fixed);
cout.precision(old); // 恢复原先的精度设置
第4个回答  2009-02-16
#include <iomanip>
cout << setiosflags( ios::fixed | showpoint) << setprecision( 1 )
<< temperatrue << endl;本回答被提问者采纳

C++里 要使输出的变量都保留小数点后1位 该怎么限制
在输出前面加上 cout << setiosflags(ios::fixed) << setprecision(1) 就行了,setprecision(1) 就是设置对应的精度,还要加上对应的头文件 #include。include include using namespace std;include int main(){ double d = 12.5638;cout << setiosflags(ios::fixed)<< setprecision(1)...

如何使C++代码输出结果保留N位小数
可以在输出的时候限制小数点位数。 1、当输出单精度浮点型float变量f时,可以用printf("%.2f", f);来使输出结果保留两位有效数字。

C++语言 对printf函数如何实现保留小数点后一位的效果
【方法】printf("%.1f",a),其中a是要输出的浮点型变量 【说明】printf("%m.nf",a)表示输出浮点型变量a,并保留小数点后n位(整数部分正常输出,小数点后不足部分按0输出),m指输出变量的总位数(十进制,小数点占用1位),当小于或者等于实际需要输出的位数时,m不起任何作用,当m大于实际需...

c++输出中怎么控制小数点后面的位数?
1、首先,定义三个实数型变量,保存计算的数值。2、接着,给x和y赋值。3、对x和y进行除法运算,保存在变量z中。4、最后,输出变量z的值。5、运行程序,可以看到计算得到的数值,小数点后位数是默认的。6、可以在%之后,添加数值的小数点后位数。7、运行程序,输出实数的小数点后位数,按照设定的值...

c++中输出结果保留小数问题
\/\/包含大量用于控制输出格式的函数 cout<<setprecision(1) \/\/设置浮点数的精度 cout<<fixed \/\/固定输出小数的宽度 如: float b=5.000;cout<<fixed<<setprecision(1)<

c++中如何精确输出的位数?
include <iomanip> \/\/用setprecision(n)设置精度,其中n表示精确到小数点后n位 using namespace std;void main(){ double aa = 10;cout<<" 12345.0普通输出为:"<<12345.0<<endl;\/\/输出12345 cout<<fixed<<setprecision(8)<<" 10保留8位有效数字输出为:"<<aa<<endl;\/\/fixed:表示...

C++的初学者问题 想问一下要怎样才可以控制小数点的位数
直接 cout<<fixed<<setprecision(2)<<a<<endl;输出的就是保留两位小数的a。而且后面要输出其他不同小数位的时候,只需要用cout<<setprecision(位数)<<变量;就可以了,就不需要再加fixed了。也就是说,fixed只需要出现一次,而setprecision只对它后面的变量有效,所以要用多次。希望能帮到你。

c++中怎么让输出的数为保留两位小数的形式
C++ 标准输出如何控制小数点后位 #include <iostream>#include <iomanip>using namespace std;int main( void ){const double value = 12.3456789; cout << value << endl;\/\/ 默认以6精度,所以输出为 12.3457cout << setprecision(4) << value << endl; \/\/ 改成4精度,所以输出为12.35...

在C++中,如果一个函数中有多个变量,在调用后希望全部保留以供继续使用...
可以将变量设置为【全局变量】,使得改变量在整个程序中起作用 当然,也可以设置为【静态变量】,效果是一样的 建议看一下变量的作用域和生存期方面的知识,就会很容易懂了 希望对你有帮助o(∩_∩)o

C++输出小数的问题百度说问题要详细。。。
第一组控制输出格式,写成cout<<setprecision(2)<<setiosflags(ios::fixed)<<num;第二组不控制输出格式,写成cout<<num;要加头文件 #include<iomanip.h>

相似回答