① c语言如何用变量控制小数位数
楼上解法怎么处理123.456-->123.456000
标准做法是这样的
说明:小数点“.”后面的“*”表示输出位数,具体的数据来自参数表。
printf格式字符串中,与宽度控制和精度控制有关的常量都可以换成变量,方法就是使用一个“*”代替那个常量,然后在后面提供变量给“*”。
例子
#include<stdio.h>
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%.*lf\n",c,a*1.0/b);
return 0;
}
② C语言中输出时怎样控制小数点后的位数,请举例说明保留1、2、3、4位小数等等,谢谢
控制小数位数就是通过输出格式说明符来规定的
举例说明如下:
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;
③ c语言中,如何使小数点对齐
他这个是要求小数点对齐的:printf("%9.2lf %9.2lf", ll, lh);。
像这样在你写的,2前面加一个数,这个数就代表除小数外整数部分至少占有的位数,当然这里是随便写的,这个数要写几你可以看看在本金:后面到小数点的位置具体有几位。
小数也可以使用printf函数输出,包括十进制形式和指数形式,它们对应的格式控制符分别是:
%f 以十进制形式输出 float 类型。
%lf 以十进制形式输出 double 类型。
%e 以指数形式输出 float 类型,输出结果中的 e 小写。
%E 以指数形式输出 float 类型,输出结果中的 E 大写。
%le 以指数形式输出 double 类型,输出结果中的 e 小写。
%lE 以指数形式输出 double 类型,输出结果中的 E 大写。
④ 在C语言计算出的结果中怎么保留小数点
C语言中浮点数输出精确到两位小数的语句如下
double a=2.0;printf ("%.2f", a);//其中.2指明两位小数
说明:如%9.2f
表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,如果9缺省则场宽为该数实际位数
规定符
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 把输出的值按照%e或者%f类型中输出长度较小的方式输出
%p 输出地址符
%lu 32位无符号整数
%llu 64位无符号整数
⑤ 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);
⑥ 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语言编程序时怎么控制浮点型输出的小数点精确到几位
使用输出格式说明符来指定精确到小数点位数。
如:
void main()
{
float a=345.234678;
printf("%.3f ", a) ;
}
其中%.3f里的3就表示输出精确到小数点后3位。
所以可参考的形式是printf("%m.nf",p);
%m.nf,指定输出的数据共占m列,其中有n位是小数。如果数值长度小于m,则左端补空格,若数值长度大于m,则按实际位数输出。
(7)c语言中分数怎么控制小数点扩展阅读:
实型变量分为两类:单精度型和双精度型,
其类型说明符为float 单精度说明符,double 双精度说明符。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。
实型变量说明的格式和书写规则与整型相同。
例如: float x,y; (x,y为单精度实型量)
double a,b,c; (a,b,c为双精度实型量)
实型常数不分单、双精度,都按双精度double型处理。
⑧ C语言中输出时怎样控制小数点后的位数,请举例说明保
#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语言如何精确小数点后指定位数
可以在输出时,指定小数点后的有效位数,实现精确到若干位的效果。
要精确到小数点后若干位,则数据类型为浮点型,可能为单精度(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);