小数部取得・小数点以下桁数取得・四捨五入
//小数部取得
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