Partilhar via


Função Val

Retorna os números contidos numa cadeia de caracteres como um valor numérico do tipo apropriado.

Public Overloads Function Val(ByVal InputStr As String) As Double
' -or-
Public Overloads Function Val(ByVal Expression As Object) As Double
' -or-
Public Overloads Function Val(ByVal Expression As Char) As Integer

Parâmetros

  • Expression, InputStr
    Obrigatório.Qualquer expressão String, variável Object ou valor Char válidos.Se Expression for do tipo Object, seu valor deve ser conversível a String ou um erro ArgumentException ocorre.

Exceções

Tipo de exceção

Número de erro

Condição

OverflowException

6

InputStr é muito grande.

ArgumentException

438

Expressão Object de tipo não conversível a String.

Ver a coluna " número de erro " se você estiver atualizando aplicativos Visual Basic 6.0 que usam manipulação de erros não estruturada.(Você pode comparar o número do erro com a Propriedade do Número (Erro de objeto).) Entretanto, quando for possivel, você pode considerar substituir tal controle de erro por Visão Geral sobre a Manipulação Estruturada de Exceções para o Visual Basic.

Observação:

A n InvalidCastException exceção, 13, número do erro pode ser gerada em resposta a determinados formatos de número incomuns. Para obter mais informações sobre esse erro, consulte tipos incompatíveis (Visual Basic). Por exemplo, o código a seguir aumenta a exceção.

' These examples cause run-time errors.

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

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

O conflito entre sistema autônomo números formatados sistema autônomo uma Double e o Integer e Long caracteres de tipo devem ser detectados pelo compilador se não foram oculto em uma seqüência de caracteres.

' These examples cause compiler errors.

'Dim m = 1.34%

'Dim n = 1.34&

Comentários

A função Val deixa de ler a cadeia de caracteres no primeiro caractere que ela não reconhece ser parte de um número.Símbolos e caracteres que são frequentemente considerados partes de valores numéricos, tal como símbolos de dólar a vírgulas, não são reconhecidos.Entretanto, a função reconheceos prefixos radix &O (para octal) e &H (para hexadecimal).Lacunas, tabulações e caracteres de avanço de linha são removidos do argumento.

A chamada a seguir retorna o valor 1615198.

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

A chamada a seguir retorna o valor decimal -1.

Val("&HFFFF") 
Observação:

O Val função reconhece somente o período (.) sistema autônomo separador decimal válido. Quando diferentes separadores decimais sãi usados, como em aplicativos internacionais, use CDbl ou CInt ao invés disso para converter uma cadeia de caracteres num número.Para converter a representação de cadeia de caracteres de um número numa culura particular a um valor numérico, use o método Parse(String, IFormatProvider) do tipo numérico.Por exemplo, use Double.Parse ao converter uma cadeia de caracteres em um Double.

Exemplo

O exemplo a seguir utiliza o Val função para retornar os números contidos em cada seqüência de caracteres. Val Interrompe a conversão no primeiro caractere que não pode ser interpretado sistema autônomo um dígito numérico, modificador numérico, pontuação numérica ou espaço em branco.

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")

Requisitos

Namespace: Microsoft.VisualBasic

**Módulo:**Conversion

Assembly: Visual Basic Runtime Library (em Microsoft.VisualBasic.dll)

Consulte também

Referência

Função Str

Funções de conversão de tipo 

OverflowException

InvalidCastException

ArgumentException

Date

History

Motivo

Julho de 2008

Observação adicionada na seção "Exceções" para mostrar quandoInvalidCastException exceções ocorrem.

Comentários do cliente.