Tôi biết có một số chủ đề và bài viết liên quan đến vấn đề này trên internet và tôi đã đọc chúng (không phải mọi bài viết, tôi phải thừa nhận) nhưng không ai trong số họ hoàn toàn thỏa mãn tôi.Số Oracle để C# số thập phân
Tình huống của tôi:
Tôi đang sử dụng ODP.net (phiên bản dll 2.111.6.0) để truy cập Oracle DB (phiên bản 10 + 11) và DataReader để truy xuất dữ liệu (.NET 3.5, C#).
Sử dụng mã này kết quả trong một ' System.OverflowException (hoạt động số học dẫn đến sự tràn.)'
decimal.TryParse(oraReader.GetOracleDecimal(0).Value.ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
và điều này một kết quả trong một giá trị của ' 3,000000000000000000000000000000000000000000000000000000000E-126'
decimal.TryParse(oraReader.GetOracleValue(0).ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
Bây giờ tôi phải tìm một số cách để truy xuất và đánh giá giá trị này đúng cách - DB cũng được sử dụng từ các ứng dụng khác ngoài tầm kiểm soát của tôi vì vậy những thay đổi không thể thực hiện được.
Việc chuyển đổi các loại trong mã C# của tôi từ 'thập phân' thành 'gấp đôi' cũng không thực sự là một tùy chọn.
Bất kỳ ý tưởng nào?
Xin chào Dave, cảm ơn vì gợi ý! –
Điều này không thành công trên các số rất lớn – Stig