11 Stimmen

Oracle Zahl zu C# dezimal

Ich weiß, dass es im Internet mehrere Threads und Beiträge zu diesem Thema gibt, und ich habe sie gelesen (nicht alle Artikel, muss ich zugeben), aber keiner von ihnen hat mich völlig zufrieden gestellt.

Meine Situation:
Ich verwende ODP.net (dll Version 2.111.6.0) für den Zugriff auf die Oracle DB (Version 10 + 11) und einen DataReader zum Abrufen der Daten (.NET 3.5, C#).

Die Verwendung dieses Codes führt zu einem ' System.OverflowException (Arithmetische Operation führte zu einem Überlauf.) '

decimal.TryParse(oraReader.GetOracleDecimal(0).Value.ToString(), 
  NumberStyles.Any, null, out parsedOraDecimal)

und diese ergibt einen Wert von ' 3,000000000000000000000000000000000000000000000000000000000E-126 '

decimal.TryParse(oraReader.GetOracleValue(0).ToString(), 
  NumberStyles.Any, null, out parsedOraDecimal)

Nun muss ich einen Weg finden, diesen Wert ordnungsgemäß abzurufen und auszuwerten - die DB wird auch von anderen Anwendungen verwendet, die außerhalb meiner Kontrolle liegen, so dass Änderungen dort nicht möglich sind.

Die Umwandlung der Typen in meinem C#-Code von "decimal" in "double" ist auch nicht wirklich eine Option.

Irgendwelche Ideen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X