2014-12-07 6 views
0

Я пишу программу, которая проверяет, ввел ли пользователь целое число, на данный момент он работает на все, кроме десятичных знаков. Несмотря на то, что я объявил его как целое число, оператор try не улавливает десятичное число в качестве исключения. Как это исправить?Использование целочисленного типа данных

Sub Main() 
    Dim Test As Integer 
     Do 
    Console.WriteLine("Enter a whole number") 
    Try 
     Test = Console.ReadLine() 
     Exit Do 
     Catch ex As Exception 
       Console.WriteLine("You must enter a whole number") 
       Console.WriteLine() 
       Exit Try 
     End Try 
     Loop 
    Console.ReadLine() 
End Sub 
+3

'Console.ReadLine' возвращает строку. ваш код должен проверить его и преобразовать. 'Option Strict On' поможет с этим – Plutonix

+1

Еще один кусает пыль. [_Option Strict Off_] (http://msdn.microsoft.com/en-us/library/zcd4xwzs.aspx) снова убивает – Steve

ответ

2

Использование TryParse

Dim number As Integer 
    Dim result As Boolean = Int32.TryParse(Test, number) 
    If result Then 
     Console.WriteLine("You entered {0}.", number) 
    Else 
     Console.WriteLine("You must enter a whole number") 
    End If  
Смежные вопросы