Je sais qu'il ya plusieurs sujets et messages concernant ce problème sur Internet et je les ai lus (pas tous les articles, je dois admettre) mais aucun d'entre eux ne m'a entièrement satisfait.Oracle nombre à C# décimal
Ma situation:
J'utilise ODP.net (version dll 2.111.6.0) pour accéder à la base de données Oracle (version 10 + 11) et un DataReader pour récupérer les données (.NET 3.5, C#).
L'utilisation de ce code entraîne une ' System.OverflowException (opération arithmétique a donné lieu à un dépassement de capacité.)'
decimal.TryParse(oraReader.GetOracleDecimal(0).Value.ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
et celui-ci se traduit par une valeur de ' 3,000000000000000000000000000000000000000000000000000000000E-126'
decimal.TryParse(oraReader.GetOracleValue(0).ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
maintenant, je dois trouver un moyen de récupérer et d'évaluer correctement cette valeur - la DB est également utilisé d'autres applications qui sont hors de mon contrôle donc les changements ne sont pas possibles.
La conversion des types dans mon code C# de 'decimal' en 'double' n'est pas vraiment une option.
Des idées?
Salut Dave, merci pour l'indice! –
Cela échoue sur les très grands nombres – Stig