我知道互联网上有几个关于这个问题的主题和帖子,我已经阅读了它们(不是每一篇文章,我不得不承认)但没有一个能让我完全满意。
我的情况:
我使用 ODP.net(dll 版本 2.111.6.0)来访问 Oracle DB(版本 10 + 11)和 DataReader 来检索数据(.NET 3.5,C#)。
使用此代码会导致“ System.OverflowException(算术运算导致溢出。) ”
decimal.TryParse(oraReader.GetOracleDecimal(0).Value.ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
这个结果的值为' 3,00000000000000000000000000000000000000000000000000000000000E-126 '
decimal.TryParse(oraReader.GetOracleValue(0).ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
现在我必须找到一些方法来正确检索和评估这个值——数据库也被其他不受我控制的应用程序使用,因此不可能进行更改。
将我的 C# 代码中的类型从“十进制”转换为“双精度”也不是一个真正的选择。
有任何想法吗?