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 для выполнения числовых операций.