小数部取得・小数点以下桁数取得・四捨五入

//小数部取得
    private Decimal GetDec(decimal decValue)
   {
     return decValue - decimal.Truncate(decValue) ;
   }
   
//少数部桁数取得
   private int GetNumberPlace(decimal decValue)
   {
     string strTmp;
     strTmp = decValue.ToString();
     strTmp= strTmp.Substring (strTmp.IndexOf (".")+1);
     return strTmp.Length ;
   }

//四捨五入

decimal.Round(dectmp, intLength, MidpointRounding.AwayFromZero)



四捨五入を行うRound関数は.NET Framework2.0より前は正確に
四捨五入してくれない欠点(偶数丸め。例えば2.5→2)があったが、
2.0以降は上に書いたように
「MidpointRounding.AwayFromZero」と指定すれば良い。
(偶数丸めはMidpointRounding.ToEven)

これを知らなくて、最初は自作の四捨五入関数を作ってしまった(笑)



参考
数値を四捨五入するには?[2.0のみ、C#、VB] − @IT