İnternette bu konuyla ilgili birkaç konu ve mesaj bulunduğunu biliyorum ve bunları okudum (her makalede değil, itiraf etmeliyim) ama hiçbiri beni tam olarak tatmin etmedi.Oracle numarası C# ondalık
Benim durumum:
ben (sürüm 10 + 11) ve veri (.NET 3.5, C#) almak için bir DataReader Oracle DB erişmek için ODP.net (dll sürümünü 2.111.6.0) kullanıyorum.
bir bu kod sonuçları kullanarak
decimal.TryParse(oraReader.GetOracleDecimal(0).Value.ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
' System.OverflowException (Aritmetik işlem. Taşma ile sonuçlanmıştır)' ve ' 3,000000000000000000000000000000000000000000000000000000000E-126' değerine de bu sonuç
decimal.TryParse(oraReader.GetOracleValue(0).ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
Şimdi bu değeri uygun almak ve değerlendirmek için bir yol bulmak zorunda - DB de benim kontrolüm dışında olan diğer uygulamalardan kullanılır bu yüzden değişiklikler mümkün değildir.
C# kodumdaki türleri "ondalık" dan "çift" e çevirmek de gerçekten bir seçenek değil.
Herhangi bir fikrin var mı?
Merhaba Dave, ipucu için teşekkürler! –
Bu çok büyük sayılarda başarısız oluyor – Stig