Conversion.Val 方法

定义

将字符串中包含的数字作为适当类型的数值返回。

重载

Val(Object)

将字符串中包含的数字作为适当类型的数值返回。

Val(Char)

将字符串中包含的数字作为适当类型的数值返回。

Val(String)

将字符串中包含的数字作为适当类型的数值返回。

Val(Object)

Source:
Conversion.vb
Source:
Conversion.vb
Source:
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 是不可转换为 StringObject 类型表达式。

示例

以下示例使用 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 仅将句点 (.) 识别为有效的小数分隔符。 使用其他小数分隔符(如在国际应用程序中)时,请改用 CDblCInt 将字符串转换为数字。 若要将特定区域性中数字的字符串表示形式转换为数值,请使用数值类型的 Parse(String, IFormatProvider) 方法。 例如,在将字符串转换为 时使用 Double.ParseDouble

注意

InvalidCastException为了响应某些不常见的数字格式,可能会引发异常。 例如,以下代码引发此异常。

' These examples cause run-time errors.

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

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

如果字符串中不包含冲突,则编译器将捕获格式为 DoubleInteger 和 类型字符的数字与 和 Long 类型字符之间的冲突。

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

另请参阅

适用于

Val(Char)

Source:
Conversion.vb
Source:
Conversion.vb
Source:
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 是不可转换为 StringObject 类型表达式。

示例

以下示例使用 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 仅将句点 (.) 识别为有效的小数分隔符。 使用不同的小数分隔符时(如在国际应用程序中一样),请改用 CDblCInt 将字符串转换为数字。 若要将特定区域性中数字的字符串表示形式转换为数值,请使用数值类型的 Parse(String, IFormatProvider) 方法。 例如,在将字符串转换为 时使用 Double.ParseDouble

InvalidCastException为了响应某些不常见的数字格式,可能会引发异常。 例如,以下代码引发此异常。

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

如果字符串中未包含格式的数字 DoubleIntegerLong 类型字符之间的冲突,编译器将捕获该冲突。

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

另请参阅

适用于

Val(String)

Source:
Conversion.vb
Source:
Conversion.vb
Source:
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 是不可转换为 StringObject 类型表达式。

示例

以下示例使用 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 仅将句点 (.) 识别为有效的小数分隔符。 使用其他小数分隔符(如在国际应用程序中)时,请改用 CDblCInt 将字符串转换为数字。 若要将特定区域性中数字的字符串表示形式转换为数值,请使用数值类型的 Parse(String, IFormatProvider) 方法。 例如,在将字符串转换为 时使用 Double.ParseDouble

注意

InvalidCastException为了响应某些不常见的数字格式,可能会引发异常。 例如,以下代码引发此异常。

' These examples cause run-time errors.

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

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

如果字符串中不包含冲突,则编译器将捕获格式为 DoubleInteger 和 类型字符的数字与 和 Long 类型字符之间的冲突。

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

另请参阅

适用于