可以通过printf函数中的输出格式说明符来实现保留一位小数点,要保留一位小数就用printf("%.1f",x),例子如程序中给出那样。
例子如下:
直接编译,程序输出结果如下图所示:
扩展资料:
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个字符宽度。
保留一位小数,就是精确到十分位,省略十分位后面的尾数。float sp = 36.51647
sp=( (float)( (int)( (sp+0.005)*100 ) ) )/100
eg: 保留小数点后第二位:
1.定义一个double型的变量。
2.先乘100。
3.加零点五。(此刻的小数点第三位加了零点五后,该进位和该舍掉 其实此刻为小数点第一位。)
4.强制转换: x=(int)x。
除法分为整除和精确除 例如a/b 当a,b同时为整数时,是整除,例3/5=0,5/3=1,14/5=2就是只要整数部分,而如果a,b两个有一个或者两个都是小数的话,就是精确除,和数学。
除法 c=b/a b=b/a等价b/=a 余数 c=b%a,也就是b整除a 的余数为c b=b%a等价b%=a。
除法比如a除以b 表示为:a/b 但是结果是取商 a除以b取余 a%b 结果是取余数。
int n=5double x=3.141592654
while(n>0) //取出小数后n位
{
x=x*10//更新x值,把小数点后第一位放在个位上
printf("%d\n",(int)x%10) //int强制把double转换成int,因为求余必须为int类型,//而%10求余,是求个位上的数字
i--
}