人気ブログランキング | 話題のタグを見る
(.Net)小数点第一位まで入力可という入力チェック
DataGridViewで、ある列は小数点第一位までの入力を許可させ、それ以外の値は認めないという要件を満たす方法です。

ちょっと悩んだんですが、まずfloatにパースできるかどうか判断します。
floatにパースできるようなら、10を掛け、それがintにパースできるかどうか判断します。
パースできないなら、小数点第二位以上の値が入っていることになるので、セルを移動させません。
というのが、以下のコードになります。(C#)


// 不正な場合、入力フォーカスを移動させない(小数点第一位まで可)
float f;
int i;
e.Cancel = (!float.TryParse(val, out f) || !int.TryParse((f * 10).ToString(), out i));


もっといい方法があるのかもしれませんが、これくらいしかスマートなのは思いつきませんでした。
by jehoshaphat | 2014-01-13 00:56 | .Net開発


<< (C#)ハンドルされない例外を... WindowsUpdateに失... >>