Compartilhar via


Numérico tabela Conversions (referência C#) explícita 

A conversão numérica explícita é utilizada para converter dados de qualquer tipo numérico para qualquer outro tipo numérico para o qual haja conversão implícita, usando uma expressão uma expressão de conversão.A tabela a seguir mostra estas conversões.

From

Para

sbyte

byte, ushort, uint, ulong, ou char

Byte

Sbyte ou char

short

sbyte, byte, ushort, uint, ulong, ou char

ushort

sbyte, byte, short, ou char

int

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

uint

sbyte, byte, short, ushort, int, ou char

long

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

ulong

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

char

sbyte, byte, ou short

float

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

double

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

decimal

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

Comentários

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

  • Quando você converter um decimal valor para um tipo integral, esse valor é arredondado em direção a zero para o valor inteiro mais próximo. Se o valor inteiro resultante for 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 inteiro resultante estiver fora do intervalo do valor de destino, o resultado dependerá do contexto de verificação de estouro.Em um contexto marcada, um OverflowException é lançada, embora em um contexto desmarcado, o resultado é um valor não especificado do 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 ajuste no tipo de destino, o resultado será zero ou infinito.

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

    • Se o valor de fonte for muito pequeno para ser representado sistema autônomo um decimal, o resultado é reduzido a zero.

    • Se o valor de fonte for NaN (e não é um número), infinito, ou muito grande para ser representado sistema autônomo um decimal, um OverflowException é lançada.

  • Quando você converte 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 6.2 Explicit na especificação da linguagem C#.Para obter mais informações sobre como acessar a especificação, consulte Especificação da linguagem C#.

Consulte também

Conceitos

Guia de Programação C#

Referência

Integral tabela Tipos (referência C#)

Tabela tipos internas (referência C#)

Numérico tabela Conversions (referência C#) implícita

Outros recursos

Referência C#