/ * hの小数点以下2桁を作成し、3桁目を 四捨五入します。hが1234.567の場合、関数は123.570000を返し 、hは123.564を返し、123.560000を返します* / #include <stdio.h> #include <conio.h> # include <stdlib.h> float fun(float h) { int temp =(int)(h * 1000 + 5)/ 10 ; return(float)temp / 100.0 ; } void main() { float a; while(scanf(" %f "、&a)!= EOF) { printf(" %f \ n " 、fun(a)); } }
丸めアルゴリズム:小数点以下n桁まで正確にしたい場合は、n + 1桁で演算を実行する必要があります。
この方法では、小数に10を乗じてn + 1を累乗し、5を加算します。次に、10で除算して強制的に整数に変換し
、数値を10でnの累乗で除算して、強制的に浮動小数点に変換します。