У меня есть текстовое поле в пользовательской форме, которое будет заполняться цифрами, запятыми или точками. Я знаю, как ограничить использование только этих символов. Мой вопрос заключается в возможности ограничить значение заполнения до 2 цифр после комы/точки?Ограничить количество цифр после запятой в текстовом поле
Так что, когда я ввожу значение как: 1023,456
, он не дал мне ввести 6
без каких-либо действий.
Отредактировано:
Я не могу получить это ... Я пробовал здесь коды тестирования: Regex to match 2 digits, optional decimal, two digits Однако он соответствует слишком многим вещам. Когда я набираю более двух цифр после запятой, он по-прежнему совпадает с хорошей строкой. Я, например:
\d{0,2}(\,\d{1,2})?
[0-9]?[0-9]?(\,[0-9][0-9]?)?
Что я делаю неправильно?
Private Sub netto_Change()
Dim regEx As New VBScript_RegExp_55.RegExp
regEx.Pattern = "\d{0,2}(\,\d{1,2})?"
If regEx.Test(netto.Value) = True Then MsgBox ("It works!")
End Sub
Edit 2:
Хорошо, я действительно близко, что я получил этот код: ^[0-9]+[\,\.]?[0-9]?[0-9]$
но одна вещь отсутствует. Этот шаблон также должен применяться к строке типа: 321,
с запятой \ точка в конце, но ничего не после этого.
Что делать?
Опубликуйте код, используемый для обработки значения текстового поля. –
Обозначает ли запятая разделитель тысяч или десятичную точку или ни в приложении? – rajah9
@ rajah9 Это десятичная точка. Таким образом, это случай, когда вы не добавляете больше цифр, чем это возможно - особенно случайно. – lowak