vb.net работает со значениями валюты в текстовых полях

В моем приложении есть простая форма для добавления заказов.

Он содержит два элемента управления textbox: "neworder_costprice" и "neworder_saleprice". У меня также есть ползунок markup_percent', значение которого может быть от 0 до 100 с шагом 10.

Я пытаюсь сделать так, если пользователь вводит "1.20", например, в текстовое поле costprice, текстовое поле saleprice автоматически заполнится значением costprice + markup_percent.

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

Ниже приведен мой текущий код из функции 'workoutsaleprice()', которая вызывается для costprice.valuechanged....

tech_neworder_costprice.Text = String.Format("{0:n2}", neworder_costprice.Text)           

Dim costprice As Double = neworder_costprice.Text
Dim markup As Integer = percent_slider.Value

Dim saleprice As Double = ((costprice / 100) * markup) + costprice
neworder_saleprice.Text = saleprice.ToString

1 ответ

Решение

Использование NumericUpDown для числового ввода вместо TextBox, Проверка выполняется автоматически, поэтому гарантированно никогда не будет иметь не числовое значение.

Вы бы вместо этого использовали NumericUpDown.Value свойство типа Decimal для выполнения числовых операций.

Другие вопросы по тегам