2010-07-29 6 views
1

J'ai un grand nombre de chaînes de caractères (20 caractères, sans décimales) qui doit être converti en nombre. J'ai essayé Convert.ToInt64 mais la valeur est trop grande. Quelle est la meilleure méthode de conversion pour un nombre aussi important? Et, quelle est la valeur maximale réelle pour Convert.ToInt64()?Grand problème de conversion de valeur numérique

Merci

Répondre

1

Int64 prend en charge les numéros de -9.223.372.036.854.775.808 par 9.223.372.036.854.775.807. Vous pouvez augmenter la taille en utilisant UInt64 (jusqu'à 18,446,744,073,709,551,615).

Si vous avez besoin de plus grand, la meilleure option est d'utiliser BigInteger, avec BigInteger.TryParse au lieu de Convert.ToXXX. BigInteger prend en charge des valeurs entières arbitrairement grandes, de sorte que la taille peut être aussi grande que nécessaire.

+0

@Reed ... C'est génial. Merci! C'est parfait .... Je vais faire BigInteger. – MikeTWebb

+0

@MikeTWebb: C'est idéal pour ça - il suffit de réaliser que c'est .NET 4 (je ne sais pas si cela compte pour vous). Si vous êtes .NET 2/3.5, vous aurez besoin d'une classe BigInteger personnalisée, comme celle-ci: http://www.codeproject.com/KB/cs/BigInteger_Library.aspx –

+0

@Reed .... ouais, nous utilisent .Net 3.5 donc j'ai besoin de mettre en place cette classe. Doux article. Merci encore – MikeTWebb

Questions connexes