2013-05-20 3 views
-3

я получаю сообщение об ошибке в 1-й линии«Преобразование из строки„“к типу„Integer“не является допустимым

Dim result = (CInt(Split(Overtime.Text, ":")(0)) * 60 + CInt(Split(Overtime.Text, ":")(1))) 
OvertimeAmount.Text = (result * Val(OvertimeRate.Text))/60 
+4

Вы отлаживали код? Что такое значение Overtime.Text в Quickwatch? – lstern

+0

Какая ошибка вы получаете? – Jules

+1

Зачем вам делать раскол в два раза? Подумайте о расширении кода на несколько шагов и проверьте каждый шаг за раз. Вы делаете слишком много в то же время, не понимая, что происходит. – ja72

ответ

0

Чтобы преобразовать строку, содержащую числовое значение действительного числового типа (например, INT), необходимо использовать

Integer.Parse(someString) 
+0

Я все еще получаю ту же ошибку..Нечего работает для меня..пожалуйста help –

3
Dim i As Integer 
Integer.TryParse(value, i) 
Console.WriteLine("Integer:", i) 
+0

не работает, все еще получая ту же ошибку в 1-й строке в моем указанном выше коде –

0

возможно что-то, как это будет работать:

Dim Result as Integer = TimeSpan.Parse(Overtime.Text).TotalMinutes 
OvertimeAmount.Text = ((result * Val(OvertimeRate.Text))/60).ToString 

Предполагается, что вы проверяете текст в Overtime. Если нет, вы можете использовать метод TryParse.

Dim ts As New TimeSpan 
    Dim ValidText As Boolean = TimeSpan.TryParse(Overtime.Text, ts) 
    If ValidText Then 
     Dim Result as Integer = ts.TotalMinutes 
    End If