大家好,又见面了,我是你们的朋友全栈君。
控制小数位数就是通过输出格式说明符来规定的
printf(%m.nf) 表示打印至少m个字符宽度(包括整数、小数点和小数部分的位数),n位小数
1.printf(“%3.0f”,floatNum):不保留小数
说明:%3.0f表明待打印的浮点数(floatNum)至少占3个字符宽,且不带小数点和小数部分,整数部分至少占3个位宽;
注意:这里的3只代表整数部分至少占3位,舍弃小数点和小数点后面的部分
2.printf(“%6.2f”.floatNum):保留两位小数
说明:%6.2f 表明待打印的数(floatNum)至少占6个字符宽度(包括两位小数和一个小数点),且小数点后面有2位小数,小数点占一位,所以整数部分至少占3位。
注意:这里的6是待打印的数至少占据的字符宽度,包括两位小数(如果小数不够两位用0补位,例如100.1打印出来为100.10)和一个小数点,所以整数部分至少占3个字符宽度。
3.单精度实数的有效位数一般为7位,输出6位小数,超出有效位数输出就是错误的。
4.双精度数有效位数一般为16位,输出6位小数,超出有效位数可能截断或错误值。
5.关于保留小数点后有效位数四舍五入原则
#include <stdio.h>
int main()
{
float f1=3.1415926;
float f2=1234.1415926;
float f3=124.1;
printf("%3.4f\n", f1);
printf("%3.4f\n", f2);
printf("%3.4f\n", f3);
printf("----------------\n");
printf("(%m.nf) 打印至少m个字符宽度(包括小数点和小数部分的位数),打印n位小数");//
printf("----------------\n");
printf("%8.3f\n",3.1415926);//打印" 3.142" 一共8位,前面3个空格
printf("%2.6f\n",3.1415926);//打印"3.141593"
printf("%6.6f\n",3.1415926);//打印"3.141593" 至少打印2个字符和6个字符 在这没区别
printf("%6.4f\n",3.1415926);//打印"3.1416"
printf("%7.4f\n",3.1415926);//打印" 3.1416"
printf("%8.4f\n",3.1415926);//打印" 3.1416" 前面打印两个空格
printf("%2.9f\n",3.1415926);//打印"3.1415926000"
printf("%2.9f\n",333.1415926);//打印"3.1415926000" 小数位补0
return 0;
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163842.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...