Ich weiß, es gibt mehrere Themen und Beiträge zu diesem Thema im Internet und ich habe sie gelesen (nicht jeden Artikel, ich muss zugeben), aber keiner von ihnen hat mich voll befriedigt.Oracle-Nummer zu C# Dezimal
Meine Situation:
Ich verwende ODP.net (DLL Version 2.111.6.0), um die Oracle-DB (Version 10 + 11) und einem Datareader, um auf die Daten (.NET 3.5, C#) abzurufen.
mit diesem Code ergibt ein ' System.OverflowException (Arithmetic Operation führte zu einem Überlauf.)'
decimal.TryParse(oraReader.GetOracleDecimal(0).Value.ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
und dies resultiert in einem Wert von ' 3,000000000000000000000000000000000000000000000000000000000E-126'
decimal.TryParse(oraReader.GetOracleValue(0).ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
Jetzt muss ich einen Weg finden, diesen Wert richtig abzurufen und zu bewerten - die DB auch von anderen Anwendungen verwendet wird, die aus meiner Kontrolle sind Änderungen sind also nicht möglich.
Konvertieren der Typen in meinem C# -Code von "Dezimal" zu "Doppel" ist auch nicht wirklich eine Option.
Irgendwelche Ideen?
Hallo Dave, danke für den Hinweis! –
Dies schlägt bei sehr großen Zahlen fehl – Stig