Есть ли функция для преобразования строки в целое число в vb.net? - PullRequest
3 голосов
/ 23 февраля 2012

Я хотел бы преобразовать, например, строку «98» в целое число 98. Кроме того, есть ли способ указать, что значение, содержащееся в строке, имеет шестнадцатеричный формат и что «98» преобразуется в 152?

Ответы [ 5 ]

7 голосов
/ 23 февраля 2012
Convert.ToInt32("98")
Convert.ToInt32("98", 16)
3 голосов
/ 23 февраля 2012

Я всегда был фанатом Integer.TryParse Документы для .NET 4 здесь здесь .Этот метод принимает переменную Integer по ссылке и возвращает логическое значение, указывающее, было ли преобразование успешным, поэтому вам не нужно обрабатывать ошибки при вызове TryParse.

Если вы используете перегрузку, которая принимаетNumberStyle, вы можете указать, что строка содержит шестнадцатеричное число. Здесь - перегрузка.

1 голос
/ 18 марта 2012

Чтобы преобразовать строку "98" в целое число 98, используйте функцию CInt. Например:

Dim MyString As String = "98"
Dim MyInteger As Integer

MyInteger = CInt(MyString)

Теперь MyInteger = 98

1 голос
/ 23 февраля 2012

Вы можете преобразовать значение в целое число с помощью метода Parse:

Dim intValue As Integer = Integer.Parse("98")

Чтобы преобразовать шестнадцатеричное значение, вы можете использовать параметр AllowHexSpecifier:

Dim intValueFromHex As Integer = Integer.Parse("98", Globalization.NumberStyles.AllowHexSpecifier)

Youтакже можно использовать метод TryParse, если введенное значение может быть в неправильном формате:

Dim intValue as integer
If Integer.TryParse("98", intValue)
    Console.WriteLine(intValue)
Else
    Console.WriteLine("Not an integer value")
End If
0 голосов
/ 23 февраля 2012

Для преобразования с использованием десятичной записи (основание-10):

Dim value = Convert.ToInt32("98")

или

Dim value = Integer.Parse("98")

или

Dim value As Integer
If Integer.TryParse("98", value) Then
  Console.WriteLine(value)
End If

Для преобразования с использованием шестнадцатеричной записи (база-16):

Dim value = Convert.ToInt32("98", 16)

или

Dim value = Integer.Parse("98", NumberStyles.HexNumber)

или

Dim value As Integer
If Integer.TryParse("98", NumberStyles.HexNumber, Nothing, value) Then
  Console.WriteLine(value)
End If

Перечисление NumberStyles находится в пространстве имен System.Globalization.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...