Member 12639198 Ответов: 1

Калькулятор тысяч разделитель запятой в C#


private void TextBox_TextChanged(object sender, EventArgs e)
    {
    string value = TextBox.Text.Replace(",", "");
    long ul;
    if (long.TryParse(value, out ul))
    {
        TextBox.TextChanged -= TextBoxTextChanged;
        TextBox.Text = string.Format("{0:#,#0}", ul);
        TextBox.SelectionStart = TextBox.Text.Length;
        TextBox.TextChanged += TextBoxTextChanged;
    }
}


Я использовал приведенный выше код для создания калькулятора. Я хочу получить результат с помощью

нажатие на равную запятую с десятичным значением. Обычно я могу печатать

1,234. 1234 в текстовом поле, но если я нажму 1,000. 123 + 1,000. 123

это не дает результата 2000. 246 - это дает только результат

2000.246. Я имею в виду запятую с десятичным значением, которое не проходит

нажатие равно.

Может ли кто-нибудь любезно помочь мне решить эту проблему ?

Что я уже пробовал:

Я использовал приведенный выше код для создания калькулятора. Я хочу получить результат с помощью

нажатие на равную запятую с десятичным значением. Обычно я могу печатать

1,234. 1234 в текстовом поле, но если я нажму 1,000. 123 + 1,000. 123

это не дает результата 2000. 246 - это дает только результат

2000.246. Я имею в виду запятую с десятичным значением, которое не проходит

нажатие равно.

Может ли кто-нибудь любезно помочь мне решить эту проблему ?

Kornfeld Eliyahu Peter

Где ваш код для "нажатия равно"?
Изменение значения текстового поля из кода не вызывает события изменения!

1 Ответов

Рейтинг:
1

nilesh sawardekar

string whatYouWant = number.ToString("#,##0");


String.Format("{0:n}", 1234);

string.Format("{0:n0}", 9876); // no digits after the decimal point.


также отформатируйте свое выходное значение.


Member 12639198

Извините, сэр, но я не получаю требуемого результата.

nilesh sawardekar

что ты получаешь от этого?

Member 12639198

Если я нажимаю 1,000. 123 + 1,000.123, это не дает результата 2,000.246 - это дает результат только 2000,246 я имею в виду запятую с десятичным значением, не получающим при нажатии равенства.

nilesh sawardekar

1000. 123 + 1000. 123 = AnyFormatGivenInReply(2000.246)

A+B=AnyFormatGivenInReply(C)