C语言中输出时怎样控制小数点后的位数,请举例说明保留1、2、3、4位小数等等,谢谢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中输出时怎样控制小数点后的位数,请举例说明保留1、2、3、4位小数等等,谢谢相关的知识,希望对你有一定的参考价值。
参考技术A控制小数位数就是通过输出格式说明符来规定的
举例说明如下:
1、float f1=3.1415926;
2、float f2=1234.1415926;
3、float f3=124.1;
4、printf("%3.4f",f1);//输出结果为:_ _ 3.1416(_表示空格)
5、printf("%3.4f",f2);//输出结果为:1234.1416
6、printf("%3.4f",f3);//输出结果为:124.1000
printf("%3.4f",f);中的3是控制f的整数部分按3位的固定位宽输出;4是按四舍五入的准则保留4位小数。
注:如果整数部分不足3位,则在前面补空格,超过3位,则按实际位数输出;如果小数部分不足4,则在后面补0。
扩展资料:
浮点类型
如果存储比精度更重要,请考虑对浮点变量使用float类型。相反,如果精度是最重要的条件,则使用double类型。
浮点变量可以提升为更大基数的类型(从float类型到double类型)。当您对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。例如,请考虑下列类型声明:
float f_short;double f_long;long double f_longer;f_short=f_short*f_long;
在前面的示例中,变量f_short提升到类型double并且与f_long相乘;然后,结果舍入到类型float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32位)精度对变量执行算术;结果随后将提升到double类型:
f_longer=f_short*f_short;
double f_long;
long double f_longer;
f_short=f_short*f_long;
在前面的示例中,变量f_short提升到类型double并且与f_long相乘;然后,结果舍入到类型float,然后赋给f_short。
在以下示例中(使用前面示例中的声明),将以浮点(32位)精度对变量执行算术;结果随后将提升到double类型:
f_longer=f_short*f_short;
参考资料:
百度百科——FLOAT(数据类型)
C语言中输出时怎样控制小数点后的位数,请举例说明保
举例说明如下:
#include <iostream>
#include <iomanip>
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;
C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
参考技术A举例说明如下:
#include <stdio.h>int main()
double pi=3.1415926456789565;
printf("%.2f\\n",pi); //保留小数点后2位
printf("%.6f\\n",pi); //保留小数点后6位
printf("%.15f\\n",pi); //保留小数点后15位
return 0;
运行结果:
3.14
3.141593
3.141592645678957
参考技术B #include<stdio.h>int main(void)
float i = 12.0;
printf("%f\\n", i);
printf("%.1f\\n", i);
printf("%.2f\\n", i);
printf("%.3f\\n", i);
printf("%.4f\\n", i);
printf("%.5f\\n", i);
printf("%.6f\\n", i);
printf("%.7f\\n", i);
printf("%.8f\\n", i);
printf("%.9f\\n", i);
printf("%.10f\\n", i);
printf("%.11f\\n", i);
printf("%.12f\\n", i);
return 0;
运行结果:
12.000000
12.0
12.00
12.000
12.0000
12.00000
12.000000
12.0000000
12.00000000
12.000000000
12.0000000000
12.00000000000
12.000000000000
printf("%f\\n", i);在普通输出控制格式字符的%和f中间加“.#”(其中#为小数点位数)
以上是关于C语言中输出时怎样控制小数点后的位数,请举例说明保留1、2、3、4位小数等等,谢谢的主要内容,如果未能解决你的问题,请参考以下文章
C语言中输出时怎样控制小数点后的位数,请举例说明保留1、2、3、4位小数等等,谢谢