1
我有一個FLOAT(126)
列,由Entity Framework映射到Decimal
。除了一種情況外,它既適用於寫作也適用於閱讀。如何使用Entity Framework 4從Oracle數據庫讀取最大精度值?
當我寫一個高的精確度值,例如:
1m/3m = 0.33333333333333333333333333333333
我不能讀取它,該框架將引發ArithmeticOverflowException
。
如何解決?我的臨時解決方案是在插入它們之前將數字四捨五入到小數點後6位。但是如果我需要完整的精度呢?
好的,我刪除了38位數的部分。問題是:如果該值在插入數據庫之前是十進制的,爲什麼它不能被檢索?我想所有額外的精度在第一時間被轉換爲小數點時被移除 –
它與浮點數如何表示有關。我不能給你我有頂部的一個正確的例子,但說3.8轉換並存儲到浮實際上已經實際上被存儲爲3.7999999999999999999999999直到基本上你用完顯著數字。有很多在互聯網上的浮點表示,非常詳細的解釋 - 只是谷歌的浮動,你會打很多,但都不是很容易閱讀。 –