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 |
---|---|
byte, ushort, uint, ulong, ou char |
|
Sbyte ou char |
|
sbyte, byte, ushort, uint, ulong, ou char |
|
sbyte, byte, short, ou char |
|
sbyte, byte, short, ushort, uint, ulong,ou char |
|
sbyte, byte, short, ushort, int, ou char |
|
sbyte, byte, short, ushort, int, uint, ulong, ou char |
|
sbyte, byte, short, ushort, int, uint, long, ou char |
|
sbyte, byte, ou short |
|
sbyte, byte, short, ushort, int, uint, long, ulong, char,ou decimal |
|
sbyte, byte, short, ushort, int, uint, long, ulong, char, float,ou 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
Referência
Integral tabela Tipos (referência C#)
Tabela tipos internas (referência C#)
Numérico tabela Conversions (referência C#) implícita