C#, ロジック


四捨五入を実装した関数を紹介しています。実は四捨五入は厳密に言い出すとキリがないぐらい奥が深いです。

		
/// <summary>指定した精度の数値に四捨五入する</summary>
/// <param name="dValue">丸め対象の倍精度浮動小数点数。</param>
/// <param name="iDigits">戻り値の有効桁数の精度。</param>
/// <returns>iDigits に等しい精度の数値に四捨五入された数値。</returns>
public static double ToHalfAjust( double dValue, int iDigits )
{
  double vCoef = Math.Pow( 10, iDigits );

  return dValue > 0 ? Math.Floor( ( dValue * vCoef ) + 0.5 ) / vCoef :
    Math.Ceiling( ( dValue * vCoef ) - 0.5 ) / vCoef;
}
		
	


inserted by FC2 system