• 締切済み

visual studio 2008 C# で、値を入れるテキストボッ

visual studio 2008 C# で、値を入れるテキストボックスを作り、そのテキストボックスに入力できる値を小数点2桁までとするにはどの様にすれば宜しいでしょうか?

みんなの回答

回答No.5

個人的にはNumericUpdownが好きだな。それが使えなくとも、もし、Validatingイベントを使ってよければ、Double.Parseを使ってよければ、取得した値をString.Format()で小数点以下2桁のフォーマットで出力した文字列と完全一致するか比較するんだけどなあ…

回答No.4

ごめん、寝ぼけてるの……  #3 は撤回します

回答No.3

#1 の間違いその2なの × if ((str[j] == '-')&&(str.Length > 1)) continue; // マイナスなの     ↓↓↓ ○ if ((str[j] == '-')&&(str.Length > 1)) {i++; continue;} // マイナスなの

回答No.2

#1 の間違いなの × for (j; j < str.Length; j++) {     ↓↓↓ ○ for (j = 0; j < str.Length; j++) {

回答No.1

以下、TextChangedのイベントハンドラなの private void textHoge_TextChanged(イベントハンドラのパラメータ) { string text = textHoge.Text; // 入力値なの string[] elm = text.Split('.'); // 小数点で区切るの int i = 0 int j; foreach (string str in elm) { for (j; j < str.Length; j++) { if ((i == 0)&&(j == 0)) { if ((str[j] == '-')&&(str.Length > 1)) continue; // マイナスなの } if (!Char.IsDigit(str, j)) return; // 数字じゃないの } i++; } if (i != 2) return; // 実数じゃないの if (elm[1].Length < 3) return; // 小数点以下2桁以内なの int len = elm[0].Length + 1 + 2; textHoge.Text = text.Remove(len); // 小数点以下2桁にするの }

関連するQ&A