dポイントプレゼントキャンペーン実施中!

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

A 回答 (5件)

個人的にはNumericUpdownが好きだな。

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

ごめん、寝ぼけてるの……



 #3 は撤回します
    • good
    • 0

#1 の間違いその2なの



× if ((str[j] == '-')&&(str.Length > 1)) continue; // マイナスなの
    ↓↓↓
○ if ((str[j] == '-')&&(str.Length > 1)) {i++; continue;} // マイナスなの
    • good
    • 0

#1 の間違いなの



× for (j; j < str.Length; j++) {
    ↓↓↓
○ for (j = 0; j < str.Length; j++) {
    • good
    • 0

以下、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桁にするの
}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!