Поделиться через


Conversion.Val Метод

Определение

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

Перегрузки

Val(Object)

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

Val(Char)

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

Val(String)

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

Val(Object)

Исходный код:
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 — слишком большое значение.

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

Примеры

В следующем примере функция используется 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")   

Примечание

Функция 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 и Integer символами типа и Long будет перехватываться компилятором, если конфликт не содержится в строках.

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

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

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

Val(Char)

Исходный код:
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 — слишком большое значение.

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

Примеры

В следующем примере функция используется 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")   

Примечание

Функция 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 и Integer символами типа и Long будет перехватываться компилятором, если он не содержится в строке.

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

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

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

Val(String)

Исходный код:
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 — слишком большое значение.

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

Примеры

В следующем примере функция используется 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")   

Примечание

Функция 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 и Integer символами типа и Long будет перехватываться компилятором, если конфликт не содержится в строках.

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

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

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