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;
}