Compartilhar via


Tabela de conversões numérico explícita (referência de C#)

Conversão numérica explícita é usado para converter qualquer tipo numérico para qualquer outro tipo numérico, para o qual não há nenhuma conversão implícita, usando uma expressão de conversão.A tabela a seguir mostra essas conversões.

Para obter mais informações sobre conversões, consulte Elenco e conversões de tipo (guia de programação do C#).

From

Para

sbyte

byte, ushort, uint, ulong, ou char

Byte

Sbyteouchar

short

sbyte, byte, ushort, uint, ulong, or char

ushort

sbyte, byte, short, or char

int

sbyte, byte, short, ushort, uint, ulong,or char

uint

sbyte, byte, short, ushort, int, or char

long

sbyte, byte, short, ushort, int, uint, ulong, or char

ulong

sbyte, byte, short, ushort, int, uint, long, or char

char

sbyte, byte, or short

float

sbyte, byte, short, ushort, int, uint, long, ulong, char,or decimal

double

sbyte, byte, short, ushort, int, uint, long, ulong, char, float,or decimal

decimal

sbyte, byte, short, ushort, int, uint, long, ulong, char, float, or double

Comentários

  • A conversão numérica explícita pode causar perda de precisão ou resultado throwing exceções.

  • Quando você converter uma decimal valor de tipo integral, esse valor é arredondado em direção a zero para o valor inteiro mais próximo.Se o valor integral resultante está fora do intervalo do tipo de destino, um OverflowException é lançada.

  • Quando você converter de um double ou float valor para um tipo integral, o valor é truncado.Se o valor integral resultante está fora do intervalo do valor de destino, o resultado depende o estouro de verificação de contexto.Em um contexto marcada, um OverflowException é lançada, embora em um contexto desmarcado, o resultado é um valor não especificado no tipo de destino.

  • Quando você converter double para float, o double valor é arredondado para o mais próximo float valor.Se o double valor é muito pequeno ou muito grande para caber no tipo de destino, o resultado será zero ou infinito.

  • Quando você converter float ou double para decimal, o valor de origem é convertido em decimal representação e arredondado para o próximo número após a casa decimal 28, se necessário.Dependendo do valor do valor de origem, pode ocorrer um dos seguintes resultados:

    • Se o valor de origem é muito pequeno para ser representado como uma decimal, o resultado se torna zero.

    • Se o valor de origem for NaN (não um número), infinito, ou muito grande para ser representado como uma decimal, um OverflowException é lançada.

  • Quando você converter decimal para float ou double, o decimal valor é arredondado para o mais próximo double ou float valor.

Para obter mais informações sobre conversão explícita, consulte Explicit na especificação de linguagem C#.Para obter mais informações sobre como acessar a especificação, consulte Especificação de linguagem do C#.

Consulte também

Referência

Elenco e conversões de tipo (guia de programação do C#)

Operador de () (C# Reference)

Tabela de tipos integral (referência de C#)

Tabela de tipos internos (referência de C#)

Tabela de conversões numérico implícito (referência de C#)

Conceitos

Guia de programação do C#

Outros recursos

Referência de C#