Я написал довольно примитивную общую функцию для вычисления числового значения, введенного в текстовое поле. Пользователь может ввести десятичное или целое число, а диапазон, который я оцениваю, составляет от 5,0 до 14,0. Первые две части оператора if возвращают true, но последняя часть возвращает false для числа десятичных знаков, когда вводится целое число, и отсутствие десятичной точки. Как я могу изменить эту функцию, чтобы возвращать true на всех путях, пожалуйста?Функция для вычисления целого числа как десятичного числа
Public Shared Function CheckDecimalValue(ByVal txtbox As TextBox) As Boolean
Dim returnValue As Boolean = True
Dim txtAsDecimal As Decimal = CType(txtbox.Text, Decimal)
Dim decimalAsString As String = CType(txtAsDecimal, String)
Dim indexOfDecimalPoint As Integer = decimalAsString.IndexOf(".")
Dim numberOfDecimals As Integer = decimalAsString.Substring(indexOfDecimalPoint + 1).Length
If txtAsDecimal < 5 Then
returnValue = False
ElseIf txtAsDecimal > 14 Then
returnValue = False
ElseIf numberOfDecimals > 1 Then
returnValue = False
End If
Return returnValue
End Function
Я редактировал свой титул. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –
Почему вы хотите проверить количество знаков после запятой? Вероятно, вы можете просто удалить эту проверку. – sloth