2010-07-25 15 views
0

Est-il possible d'obtenir une précision décimale supérieure au type decimal en C#? Selon MSDN, le type decimal peut stocker jusqu'à 29 chiffres significatifs, mais je me demande s'il est possible de stocker plus que cela et comment s'y prendre.C# - Plus grande précision décimale que le type décimal

Merci d'avance.

+1

duplication possible de [Grands nombres avec support de fraction] (http://stackoverflow.com/questions/2533960/big-numbers-with-fraction-support) - A des liens utiles dans les réponses. –

Répondre

1

Bien sûr - vous pouvez créer votre propre type de données (ou utiliser une bibliothèque tierce existante - l'exécution J ++ a une implémentation de BigDecimal utilisable depuis C#).

Pour quoi avez-vous besoin de cela? Il est TRÈS inhabituel d'avoir besoin de plus de 29 chiffres significatifs;)

+0

Cette question est plus théorique que pratique. Récemment, j'ai essayé d'écrire un programme pour écrire Pi à un certain nombre de décimales et j'ai réalisé que je ne pouvais stocker que jusqu'à 29 décimales. Ainsi cette question était née. –

+0

Oui. Le jeu mathématique est à peu près le seul vrai usage;) – TomTom

0

Vous pouvez utiliser un BigInteger mis à l'échelle si vous utilisez la version 4.0. Cela rendra l'arithmétique plus facile.

0

Vous pouvez utiliser la classe BigRational dans BCL. Cependant, il est encore en version bêta ...