Проверьте десятичное число в текстовом поле с маской в ​​VB.NET

У меня есть замаскированное текстовое поле с маской _____.__.

Теперь кто-нибудь может просто вставить 00001.__. И это все еще работает, но мне нужно, чтобы люди вводили десятичное число. Кроме того, как я могу поставить галочку на этом?


person TheBlinderCoder    schedule 27.10.2015    source источник
comment
Я предлагаю вам показать, что вы уже пробовали, иначе вы вряд ли получите большой интерес, см. Как спросить   -  person OSKM    schedule 27.10.2015


Ответы (2)


В таком событии, как TextChanged, вы можете использовать:

if (maskedTextBox1.MaskCompleted == true)
{
    // Invalid input
}
person Fᴀʀʜᴀɴ Aɴᴀᴍ    schedule 27.10.2015

Я считаю, что лучше просто преобразовать текстовое поле в десятичное или двойное число, поскольку отсутствие десятичных чисел означает просто «.00».

Итак, вы можете:

  1. Установите маску управления на «000000.00» или вообще используйте как сейчас.
  2. Преобразуйте его в двойное или десятичное число: Dim DecNum as Double = CDbl(maskedTextBox.text) Dim DecNum as Decimal = CDec(maskedTextBox.text)

Итак, если бы пользователь сообщил десятичное число, оно было бы у вас; в противном случае ваш номер будет считать ".__" как ".00".

person David BS    schedule 27.10.2015
comment
предыдущий пост работал, но я думаю, что это даже лучше! Благодарю вас! - person TheBlinderCoder; 27.10.2015
comment
Пожалуйста. Пожалуйста, проголосуйте, если считаете, что я вам помог :) Удачи. - person David BS; 27.10.2015