- 2015/11/23 01:00
C#、VB.NETでString型の文字列をint型の整数に変換する際、小数点以下を切り捨てるメソッドを作成しました。
以前ご紹介した「.NET 小数点以下を切り捨てる」を用いて、文字列以外にもfloat型、double型などからの変換にも対応しております。
●文字列を整数に変換する(小数点以下を切り捨て)
/// <summary>
/// 値を切り捨て、指定の桁数に丸めます
/// </summary>
/// <param name="value">値</param>
/// <param name="decimals">小数部桁数</param>
/// <returns>丸められた値</returns>
public static double Truncate(double value, int decimals)
{
// 小数部桁数の10の累乗を取得
double pow = Math.Pow(10, decimals);
return 0 <= value ? Math.Floor(value * pow) / pow :
Math.Ceiling(value * pow) / pow;
}
/// <summary>
/// 値を切り捨て、指定の桁数に丸めます
/// </summary>
/// <param name="value">値</param>
/// <param name="decimals">小数部桁数</param>
/// <returns>丸められた値</returns>
public static double Truncate(object value, int decimals)
{
return Truncate(Convert.ToDouble(value), decimals);
}
/// <summary>
/// 値の小数点以下を切り捨て、整数に丸めます
/// </summary>
/// <param name="value">値</param>
/// <returns>丸められた値</returns>
public static int Truncate(object value)
{
return Convert.ToInt32(Truncate(value, 0));
}
※
Clipボタンをクリックすると、「ConvertUtility」というクラスがコピーされます。このソースを「ConvertUtility.cs」ファイルにコピーするとすぐご利用いただけます。
上記Truncateメソッドは、符号を無視して絶対値を切り捨てる(常に0へ近づく)丸めになりますが、丸めの方法はシステムの要件によって異なりますので、プロジェクトの早い段階で検討することをおススメします。
このページでは、上記Truncateメソッドを実際に動かした時の挙動を確認できます。