Question

D'après le tableau ici, le type de données équivalent en Java à celui de C# Decimal est BigDecimal.

Est-ce vraiment le cas ?Que se passe-t-il avec le préambule « Grand » ?Il ne semble pas y avoir de "SmallDecimal" ou de "LittleDecimal" (et encore moins de "MediumSizedDecimal") en Java.

Je dois dire, cependant, que ce tableau était la chose la plus claire que j'ai trouvée sur le sujet ;les autres liens ici et ici et ici étaient à peu près aussi clairs pour moi que le fleuve Mississippi après une tempête torrentielle.

Était-ce utile?

La solution

Yep - c'est le type correspondant.

Puisque vous utilisez Java après C # - Ne soyez pas trop surpris de trouver de petites nuances comme celle-ci - ou d'être trop mécontent quand il n'y a pas de moyen facile de faire quelque chose qui est «facile» de faire C #.La première chose qui vient à mon esprit est int & int?- En Java, vous utilisez simplement Int et Integer.

C # a eu le luxe de venir après Java, beaucoup de (ce que je considère subjectivement comme) de mauvaises décisions ont été fixées / rationalisées.Aussi, il aide que c # a été conçu par andresferrerg (qui est sans doute l'un des meilleurs langages de programmationLes designers vivants) et est régulièrement "mis à jour" contrairement à Java (vous avez probablement été témoin de toutes choses ajoutées à C # depuis 2000 - Liste complète )

Autres conseils

Est-ce vraiment le cas ?

Ils sont similaires mais pas identiques.Pour être plus précis:la version Java peut représenter toutes les valeurs que la version C# peut représenter, mais l'inverse n'est pas vrai.

Que se passe-t-il avec le préambule « Grand » ?

Un Java BigDecimal peut avoir arbitrairement beaucoup de précision et peut donc être arbitrairement grand.Si vous voulez faire un BigDecimal avec mille précisions, vous avancez droit devant.

En revanche, un C# decimal a une taille fixe ;il occupe 128 bits et vous donne 28 décimales de précision.

Être plus précis:les deux types vous donnent des numéros de la forme

+/- someInteger / 10 ^ someExponent

En C#, someInteger est un entier non signé de 96 bits et someExponent est un entier compris entre 0 et 28.

En Java, someInteger est de taille arbitraire et someExponent est un entier signé de 32 bits.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top