输出时对小数保留两位小数
对一个小数 s 来说,可以通过以下方式来转化
float s= 456.125754;
s=( (float)( (int)( (s+0.005)*100 ) ) ) /100;
//s=456.13
但,通过这种方式转化,若是小数位为 0 的话,将不会显示
也可以直接输出时
printf(" % .2f \n " , s ); //s=456.13
当然,如果你想要保留三位的话,就是
s=( (float)( (int)( (s+0.0005)*1000 ) ) ) /1000;
printf(" % .3f \n" , s ); //s=456.126
如此,我们可以推出小数部分保留 n 位的公式
s=( (float)( (int)( (s+0.5*(10^-2) )*10^n) ) )/ 10^n;
printf(" % .nf \n " , s );