3桁のグループごとに「、」を追加したい。例:123456789と入力すると、テキストボックスに123,456,789と表示され、次のコードで取得できます。
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (!string.IsNullOrEmpty(textBox1.Text))
{
System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
decimal valueBefore = decimal.Parse(textBox1.Text, System.Globalization.NumberStyles.AllowThousands);
textBox1.Text = String.Format(culture, "{0:N0}", valueBefore);
textBox1.Select(textBox1.Text.Length, 0);
}
}
このフォーマットについてもっと具体的にしたいと思います。このテキストボックスにのみ数値を入力し、次のように10進形式(その後は。と入力)を使用したいので、123,456,789.00
次のコードを使用しようとします。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != '.')
{
e.Handled = true;
}
}
しかし、それは機能しません