Следующий код сделает это:
TextBox3.Text = Cstr(CDbl(TextBox3.Text) - 0.34)
Но вы должны знать, что происходит.
TextBox не хранит тип double , он хранит тип строки .Приведенный выше код пытается преобразовать строку в двойное число, вычесть из нее ваше постоянное значение и преобразовать его обратно в строку.
Вы должны спросить себя, что должно произойти, если строка в текстовом поле не являетсядействительный номер.В приведенном выше коде Double.Parse () вызовет исключение. Double.TryParse () вернет, было ли преобразование успешным.
Или невозможно ввести не-число в текстовое поле?В этом случае проверка безопасности не нужна, хотя и целесообразна.
Вам необходимо задавать эти вопросы при преобразованиях типов , иначе ваша программа будет работать непредсказуемо, если значение не преобразуется ввведите, что вы ожидали.
Более безопасный способ уменьшить это будет:
Const DECREMENT_VALUE As Double = 0.34
Dim isDouble As Boolean
isDouble = IsNumeric(TextBox3.Text)
If isDouble Then
Dim newValue As Double
newValue = CDbl(TextBox3.Text)
newValue = newValue - DECREMENT_VALUE
TextBox3.Text = CStr(newValue)
Else
MsgBox "The Value was not a Double! Could not Decrement!"
End If