Pergunta

De acordo com o gráfico aqui, o equivalente tipo de dados em Java, C#'s Decimal é BigDecimal.

Isso é realmente assim?O que está acontecendo com o "Grande" preâmbulo?Não parece ser um "SmallDecimal" ou "LittleDecimal" (let alone "MediumSizedDecimal") em Java.

Devo dizer, porém, que o gráfico foi a mais clara coisa que eu achei sobre o assunto;os outros links aqui e aqui e aqui foram tão claro para mim como o Rio Mississipi, depois de uma tempestade torrencial.

Foi útil?

Solução

Sim - esse é o tipo correspondente.

Desde que você está usando Java depois de C # - Não fique muito surpreso ao encontrar pequenas nuances como esta - ou esteja muito chateada quando não há maneira fácil de fazer algo que seja "fácil" para fazer C #.A primeira coisa que vem à minha mente é int & int?- em Java você acabou de usar int e inteiro.

C # teve o luxo de vir depois de Java tão lotes (o que vejo subjacente como) Decisões ruins foram corrigidas / simplificadas.Além disso, ajuda que C # foi projetado por Andres Hejlsberg (Quem é, sem dúvida, uma das melhores linguagens de programaçãoDesigners vivos) e é regularmente "atualizado" ao contrário do Java (você provavelmente testemunhou todas as coisas adicionadas a C # desde 2000 - lista completa )

Outras dicas

Isso é realmente assim?

Eles são semelhantes, mas não idênticos.Para ser mais específico:a versão do Java pode representar qualquer valor que a versão C#, mas o oposto não é verdadeiro.

O que está acontecendo com o "Grande" preâmbulo?

Java BigDecimal pode ter arbitrariamente muita precisão e, portanto, pode ser arbitrariamente grande.Se você quiser fazer uma BigDecimal com mil lugares de precisão, vá em frente.

Por outro lado, um C# decimal tem um tamanho fixo;ele leva até 128 bits e dá-lhe 28 casas decimais de precisão.

Para ser mais preciso:ambos os tipos apresentam números da forma

+/- someInteger / 10 ^ someExponent

Em C#, someInteger é um 96 bit número inteiro não assinado e someExponent é um número inteiro entre 0 e 28.

Em Java, someInteger é de tamanho arbitrário e someExponent é uma assinado de 32 bits inteiro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top