c语言如何控制小数位数

如题所述

可以在输出时,指定小数点后的有效位数,实现精确到若干位的效果。
要精确到小数点后若干位,则数据类型为浮点型,可能为单精度(float)或双精度(double)。
在C语言中,使用格式化输出函数printf来实现输出。
输出格式为
%.NF
1 %为格式化字符串的引导字符。
2 .N表示指定显示N位小数。
3 F为类型字符,对于float, F值为f, 对于double,F值为lf。
举例:
1 要输出float a=1.23234; 保留3位小数的写法为:
printf("%.3f",a);
2 输出double b=123.345232; 保留4为小数,写法为:
printf("%.4lf",b);

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-09

控制小数位数就是通过输出格式说明符来规定的。

举例说明如下:

float f1=3.1415926;
float f2=1234.1415926;
float f3=124.1;
printf("%3.4f", f1);  // 输出结果为:_ _ 3.1416 ( _ 表示空格)
printf("%3.4f", f2);  // 输出结果为:1234.1416
printf("%3.4f", f3);  // 输出结果为:124.1000

printf("%3.4f", f);中的3是控制f的整数部分按3位的固定位宽输出;4是按四舍五入的准则保留4位小数。

注:如果整数部分不足3位,则在前面补空格,超过3位,则按实际位数输出;如果小数部分不足4,则在后面补0

第2个回答  推荐于2017-10-11
这个很简单。printf("%.2f\n",x);当然x是float型的。输出就是两位小数。就是在f前+小数点+保留小数的位数。本回答被提问者采纳
第3个回答  2011-02-27
eam>
using namespace std;
int main()
{ float a,b,c;
cout<<"Please input thress numbers:"<<endl;
cin>>a>>b>>c;
cout<<fixed; //这两句是控制输出数据小数位数
cout.precision(4); //这两句是控制输出数据小数位数
cout<<a<<" "<<b<<" "<<c<<endl;
return 0;
}
例子中的cout<<fixed; cout.precision(n);必须出现在输出数据之前。n表示输出要 保留几位小数。如输入:23 输出为23.0000
还有很多用法 无法一一举例
第4个回答  2011-02-27
默认6位小数,例如输出的格式控制符%7.2f就是符号、整数、小数加上小数点共7位,小数2位,其他类推
相似回答