小数点以下の桁数を取得するFunctionです。
サンプル
例)小数点以下の桁数を取得するFunction
/// <summary>
/// 小数点以下の桁数を取得するFunction
/// </summary>
/// <param name="val">小数値</param>
/// <returns>桁数</returns>
public static int GetDecimalLength(double val)
{
int result = 0;
string valStr = val.ToString().TrimEnd('0');
int idx = valStr.IndexOf('.');
if (idx != -1) result = valStr.Substring(idx + 1).Length;
return result;
}
(使用例)
int a = GetDecimalLength(42.195);
→ 3
int a = GetDecimalLength(42.19500);
→ 3 //末尾の0は除外されます
int a = GetDecimalLength(123.000);
→ 0 //末尾の0は除外されます
int a = GetDecimalLength(123);
→ 0
備考
- マイナス値も対応しています。