Windowsフォームには、金額を入力するテキストボックスがあります。たとえば、18369.25と入力し、Enterキーを押すと、テキストボックスは次のようにフォーマットされます。18369,25
その方法は?
質問する
5514 次
2 に答える
1
以下のようなイベントハンドラーを使用して、テキストボックスのKeyPressイベントをサブスクライブします。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '\r')
{
decimal value;
if (decimal.TryParse(
textBox1.Text,
NumberStyles.Any,
CultureInfo.InvariantCulture,
out value))
{
textBox1.Text = value.ToString(
"### ### ##0.00",
CultureInfo.InvariantCulture).TrimStart().Replace(".", ",");
}
}
}
于 2012-08-03T15:27:13.913 に答える
0
私はいくつかの実験を行いましたが、どれもうまくいかなかったようです。だから私はこの解決策を思いついた。私はそれが最良のものではないことを知っていますが、少なくともそれは機能します(少なくともあなたが必要としたもののために):
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
string s = textBox1.Text;
if (s.Contains('.'))
{
string[] arr = s.Split('.');
decimal dec = decimal.Parse(arr[0]);
textBox1.Text = string.Format("{0},{1}", dec.ToString("## ###"), arr[1]);
}
}
}
他にご要望がございましたら、お知らせください。さよなら
于 2012-08-03T15:55:32.927 に答える