Conversion.Val Метод

Определение

Возвращает числа, содержащиеся в строке в качестве числового значения соответствующего типа.

Перегрузки

Имя Описание
Val(Object)

Возвращает числа, содержащиеся в строке в качестве числового значения соответствующего типа.

Val(Char)

Возвращает числа, содержащиеся в строке в качестве числового значения соответствующего типа.

Val(String)

Возвращает числа, содержащиеся в строке в качестве числового значения соответствующего типа.

Val(Object)

Исходный код:
Conversion.vb
Исходный код:
Conversion.vb
Исходный код:
Conversion.vb
Исходный код:
Conversion.vb
Исходный код:
Conversion.vb

Возвращает числа, содержащиеся в строке в качестве числового значения соответствующего типа.

public:
 static double Val(System::Object ^ Expression);
public static double Val(object? Expression);
public static double Val(object Expression);
static member Val : obj -> double
Public Function Val (Expression As Object) As Double

Параметры

Expression
Object

Обязательно. Любое допустимое String выражение, Object переменная или Char значение. Если Expression имеет тип Object, его значение должно быть преобразовано в String или ArgumentException возникает ошибка.

Возвращаемое значение

Числа, содержащиеся в строке в виде числового значения соответствующего типа.

Исключения

InputStr слишком велик.

Expression Object— это выражение типа, которое не преобразуется в String.

Примеры

В следующем примере функция используется Val для возврата чисел, содержащихся в каждой строке. Val останавливает преобразование первого символа, которое не может быть интерпретировано как числовой цифры, числовые модификаторы, числовые знаки препинания или пробелы.

Dim valResult As Double
' The following line of code sets valResult to 2457.
valResult = Val("2457")
' The following line of code sets valResult to 2457.
valResult = Val(" 2 45 7")
' The following line of code sets valResult to 24.
valResult = Val("24 and 57")

Комментарии

Функция Val перестает считывать строку в первом символе, которая не может распознаваться как часть числа. При этом не распознаются знаки, которые могут быть частью числового значения, например знак доллара и запятая. Однако функция распознает префиксы &O радикса (для восьмерицы) и &H (для шестнадцатеричных). Пустые, вкладки и символы строки удаляются из аргумента.

Следующий вызов возвращает значение 1234123.

Val(" 1234 123th Street N.E.")

Следующий вызов возвращает десятичное значение -1.

Val("&HFFFF")

Note

Функция Val распознает только период (.) как допустимый десятичный разделитель. Если используются другие десятичные разделители, как в международных приложениях, используйте CDbl или CInt вместо этого преобразуйте строку в число. Чтобы преобразовать строковое представление числа в определенном языке и региональных параметрах в числовое значение, используйте метод числового типа Parse(String, IFormatProvider) . Например, используйте Double.Parse при преобразовании строки в строку Double.

Note

Исключение InvalidCastException может быть вызвано в ответ на некоторые необычные форматы чисел. Например, следующий код вызывает это исключение.

' These examples cause run-time errors.

'Console.WriteLine(Val("1.34%"))

'Console.WriteLine(Val("1.34&"))

Конфликт между числом, отформатированным как Double символом и IntegerLong символами типа, будет перехватываться компилятором, если конфликт не содержался в строках.

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

См. также раздел

Применяется к

Val(Char)

Исходный код:
Conversion.vb
Исходный код:
Conversion.vb
Исходный код:
Conversion.vb
Исходный код:
Conversion.vb
Исходный код:
Conversion.vb

Возвращает числа, содержащиеся в строке в качестве числового значения соответствующего типа.

public:
 static int Val(char Expression);
public static int Val(char Expression);
static member Val : char -> int
Public Function Val (Expression As Char) As Integer

Параметры

Expression
Char

Обязательно. Любое допустимое String выражение, Object переменная или Char значение. Если Expression имеет тип Object, его значение должно быть преобразовано в String или ArgumentException возникает ошибка.

Возвращаемое значение

Числа, содержащиеся в строке в виде числового значения соответствующего типа.

Исключения

InputStr слишком велик.

Expression Object— это выражение типа, которое не преобразуется в String.

Примеры

В следующем примере функция используется Val для возврата чисел, содержащихся в каждой строке. Val останавливает преобразование первого символа, которое не может быть интерпретировано как числовой цифры, числовые модификаторы, числовые знаки препинания или пробелы.

Dim valResult As Double
' The following line of code sets valResult to 2457.
valResult = Val("2457")
' The following line of code sets valResult to 2457.
valResult = Val(" 2 45 7")
' The following line of code sets valResult to 24.
valResult = Val("24 and 57")

Комментарии

Функция Val перестает считывать строку в первом символе, которая не может распознаваться как часть числа. При этом не распознаются знаки, которые могут быть частью числового значения, например знак доллара и запятая. Однако функция распознает префиксы &O радикса (для восьмерицы) и &H (для шестнадцатеричных). Пробелы, знаки табуляции и перевода строки из аргумента исключаются.

Следующий вызов возвращает значение 1615198.

Val(" 1615 198th Street N.E.")

Следующий вызов возвращает десятичное значение -1.

Val("&HFFFF")

Note

Функция Val распознает только период (.) как допустимый десятичный разделитель. Если используются различные десятичные разделители, как и в международных приложениях, используйте CDbl или CInt вместо этого преобразуйте строку в число. Чтобы преобразовать строковое представление числа в определенном языке и региональных параметрах в числовое значение, используйте метод числового типа Parse(String, IFormatProvider) . Например, используйте Double.Parse при преобразовании строки в строку Double.

Исключение InvalidCastException может быть вызвано в ответ на некоторые необычные форматы чисел. Например, следующий код вызывает это исключение.

' These examples cause run-time errors.
Console.WriteLine(Val("1.34%"))
Console.WriteLine(Val("1.34&"))

Конфликт между числом, отформатированным как Double символом и IntegerLong символами типа, будет перехватываться компилятором, если он не содержался в строке.

' These examples cause compiler errors.
Dim m = 1.34%
Dim n = 1.34&

См. также раздел

Применяется к

Val(String)

Исходный код:
Conversion.vb
Исходный код:
Conversion.vb
Исходный код:
Conversion.vb
Исходный код:
Conversion.vb
Исходный код:
Conversion.vb

Возвращает числа, содержащиеся в строке в качестве числового значения соответствующего типа.

public:
 static double Val(System::String ^ InputStr);
public static double Val(string? InputStr);
public static double Val(string InputStr);
static member Val : string -> double
Public Function Val (InputStr As String) As Double

Параметры

InputStr
String

Обязательно. Любое допустимое String выражение, Object переменная или Char значение. Если Expression имеет тип Object, его значение должно быть преобразовано в String или ArgumentException возникает ошибка.

Возвращаемое значение

Числа, содержащиеся в строке в виде числового значения соответствующего типа.

Исключения

InputStr слишком велик.

Expression Object— это выражение типа, которое не преобразуется в String.

Примеры

В следующем примере функция используется Val для возврата чисел, содержащихся в каждой строке. Val останавливает преобразование первого символа, которое не может быть интерпретировано как числовой цифры, числовые модификаторы, числовые знаки препинания или пробелы.

Dim valResult As Double
' The following line of code sets valResult to 2457.
valResult = Val("2457")
' The following line of code sets valResult to 2457.
valResult = Val(" 2 45 7")
' The following line of code sets valResult to 24.
valResult = Val("24 and 57")

Комментарии

Функция Val перестает считывать строку в первом символе, которая не может распознаваться как часть числа. При этом не распознаются знаки, которые могут быть частью числового значения, например знак доллара и запятая. Однако функция распознает префиксы &O радикса (для восьмерицы) и &H (для шестнадцатеричных). Пустые, вкладки и символы строки удаляются из аргумента.

Следующий вызов возвращает значение 1234123.

Val(" 1234 123th Street N.E.")

Следующий вызов возвращает десятичное значение -1.

Val("&HFFFF")

Note

Функция Val распознает только период (.) как допустимый десятичный разделитель. Если используются другие десятичные разделители, как в международных приложениях, используйте CDbl или CInt вместо этого преобразуйте строку в число. Чтобы преобразовать строковое представление числа в определенном языке и региональных параметрах в числовое значение, используйте метод числового типа Parse(String, IFormatProvider) . Например, используйте Double.Parse при преобразовании строки в строку Double.

Note

Исключение InvalidCastException может быть создано в ответ на некоторые редкие форматы чисел. Например, следующий код вызывает это исключение.

' These examples cause run-time errors.

'Console.WriteLine(Val("1.34%"))

'Console.WriteLine(Val("1.34&"))

Конфликт между числом, отформатированным как Double символом и IntegerLong символами типа, будет перехватываться компилятором, если конфликт не содержался в строках.

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

См. также раздел

Применяется к