Paul Edward Pagente Ответов: 1

Форматирование и вычисление чисел в текстовом поле VB.NET


Всем Привет, Добрый День.
Я надеюсь, что кто-то поможет мне с моей проблемой.


У меня есть 3 текстовых поля, и они есть:

GrandTotal.Text
VatAmount.Text
TotalAmount.Text

и 1 `NumericUpdown1.Value`

Вот сценарий, по мере того как система идет, есть код, который вызовет и поместит числовое значение в `GrandTotal.Текст`, и после этого пользователь нажмет " NumericUpdown1.Value`. Каждый раз, когда пользователь нажимает на нее, запускается вычисление, и числовое значение отображается в "TotalAmount".Текст` и `Ватамаунт.Текст`


Чтобы сделать его более конкретным, это похоже на форму расчета, которая будет включать НДС. например.

`Grandtotal.text = 2000`

а если я нажму кнопку NumericUpDown до + 1

`Ватамаунт.Text` = 20 и `TotalAmount.Текст` = 2020


Надеюсь ты понимаешь что я имею в виду

и вот мой код для этого:



Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
  VatAmount.Text = Val(Grandtotal.text) * NumericUpDown1.Value * 0.01
  End Sub




Private Sub VatAmount_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VatAmount.TextChanged
          TotalAmount.Text = Val(VatAmount.Text) + Val(TextBox14.Text)
      End Sub


Теперь, когда я закончил объяснять это, вот мой вопрос.


Как поставить запятые на эти текстовые поля и вычислить их? Мой профессор спросил, что он хочет поставить запятые на цифрах, которые будут введены би? Не нужно буквально ставить запятые. Ставьте его автоматически, когда значение больше 3 цифр


Как я могу поместить запятые в текстовые поля и вычислить их с помощью NumericUpdown?

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

Я пытался найти и закодировать его, но он не мог дать то, что мне было нужно

1 Ответов

Рейтинг:
1

Simon_Whale

Я хотел бы прочитать об этом Строки Стандартных Числовых Форматов [^]

Это позволит вам форматировать числа как валюту, представляя их в виде строки в пользовательском интерфейсе.


Paul Edward Pagente

Сэр, я закончил читать его, но я его не понимаю. :( цифры будут помещены в текстовые поля. Пожалуйста, смотрите мой отредактированный пост. Я не знаю, какой код использовать.:( пожалуйста, помогите мне, сэр :(

Simon_Whale

тусклое значение как десятичное
значение = 1000

--это будет отображаться без десятичных знаков
textbox14.Text = значение.ToString("C0")

--это будет отображаться с 2 десятичными знаками
textbox14.Text = значение.ToString("C2")

Paul Edward Pagente

Сэр поправьте меня, если я ошибаюсь, что мне нужно, сэр, это запятая, но спасибо, что поделились кодом в десятичной точке. Я хочу что то вроде этого вместо 1000 это будет 1000 или любые другие числа до тех пор пока значение больше 999 и вычислить его с помощью NumericUpdown

Simon_Whale

Посмотрите на спецификатор формата "N" в документе, который я вам показал.

Paul Edward Pagente

Я уже понял сэр вот мой код

Тусклое значение как десятичное
значение = TextBox14.Текст
TextBox14.Text = значение.ToString("N1")

Я использую N1, чтобы удалить знак$, но он не работает должным образом в textchanged

Simon_Whale

Тусклое значение как десятичное
значение = конвертировать.ToDecimal(TextBox14.Text)
TextBox12 = значение.ToString("N1")

Paul Edward Pagente

Как я могу вычислить этот сэр, используя числовое обновление? пожалуйста смотрите мой код в моем посте

Paul Edward Pagente

Сэр я пробую ваш код
но это дает мне ошибку, поэтому я сделал следующее: Я поставил try and catch, и когда я набираю 1236, выход составляет 61,230.0 вместо 1,236.00