首页 > 编程知识 正文

c语言精确小数点后6位,c语言显示小数点后两位

时间:2023-05-05 22:18:27 阅读:172968 作者:4151

流输入输出也可以进行格式化控制,在c中通过流操作器来实现。 由于流操作符在头文件iomanip中定义,因此必须包括头文件才能使用这些流操作符。

//流操作操作符库#包含#include iomanip C的iomanip库包括:字段宽度设置、精度设置、格式标志设置和清除、字段填充字符设置、在输出流中插入空白字符下表列出了典型的流操作符。

流操作操作员功能记述setbase(b )输出二进制基数b并将其整数值setprecision(n ) n )浮点精度设定为nsetiosflags ) long来设定特定格式标志位setw(n ) n, 每个n个字符setfill ) ch )用读写ch填充空白字符的flushOstream缓冲区ends输出空字符endl输出换行符和ostream缓冲区ws跳过空白字符(输入用) )这次主要是setbase(b)、setprecision(n)、setiosflags(long)和setw(n)

控制进制基数

在标准输出流cout中,可以使用setbase设置输出整数的进制基数,如下所示: 只支持8、10和16进制。

//整数NCoutsetbase(8) n endl的八进制输出还可以直接使用流操作符oct、hex、dec和十进制来控制输出整数的进制,如下所示:

//以十六进制格式输出整数ncout hex n endl;设置浮点数输出精度

流操作符setprecision或函数precision可以设置浮点数输出的精度。 其参数是输出浮点数的有效数字数。 包括整数部分和小数部分,例如12.34的有效数字是4。

例如,用5位有效位输出12.3 * 3.578的值:

coutsetprecision(5) 12.3 * 3.578 endl; 或:

cout.precision(5; cout 12.3 * 3.578 endl; 以上输出结果均为44.009

设置辅助格式

流操作符setiosflags帮助设置流的输入和输出格式,该格式是流的格式标志值。 setiosflags提供了各种参数,以支持各种输入和输出格式要求。

标志值的含义ios:skipws在输入时跳过空白的ios:left左对齐,用填充字符填充右侧。 将IOs :右对齐,用填充字符填充左侧。 这是默认对齐方式。 IOs :基于dec 10 (十进制(默认) IOs :基于oct8)八进制)格式数字IOs :基于hex 16 (十六进制)格式数字IOs :33: 在ios:uppercase中对十六进制值高精度地输出大写的a到f,对科学格式高精度地输出大写的e。 ios:showpos显示加号()科学显示ios:scientific浮点数值以定点格式显示IOs :浮点数值示例:

双精度x=1.23; coutsetprecision(5) x endl; coutsetiosflags (IOs :3360 showpoint )设置处理(5)5) x endl; 输出结果如下。

1.231.2300 域宽

对于域宽度,函数width和流操作符setw都可以设置当前的域宽度,即输入和输出字符数。

如果输出数据所需的宽度小于设定的字段宽度,则可用空白字符(默认为空格)填充空白区域。

如果显示的数据所需的宽度大于设置的域,系统将自动突破宽度限制,输出所有位。

例如:

cin n; coutsetw(6) n endl; 实现以域名宽度输出//n,n不足位数时,在前面填入空格程序:,输出不同精度的PI的功能。 具体要求如下。

输入的数量为小于15的非负整数n;

输出五个不同精度的PI。 也就是说,在小数点后面分别留下n、n 1、n 2、n 3、n 4位的PI,分别独占一行。

测试输入:

4预期输出:

3.14163.141593.1415933.14159273.14159265测试输入:

10预期输出:

3.14159265363.141592653593.14159265358983.14159265358983.14159265358979 # include iostream//流操作操作员库# include 可以直接使用PI代替后面的数值# define pi 3.14159265358979323846 int main ({ intn; cin n; for(intI=n; i n 5; I ) coutsetiosflags (IOs :3360 fixed ) setprecision(i ) I ) PI endl; } return 0; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。