我有一個類型爲「float」的列,它顯然是舍入到6位數。因此23.123456四捨五入到23.1235 .....和12345678四捨五入到12345700SQL表列「float」舍入到6位數字
如何防止/更改此?
由於
我有一個類型爲「float」的列,它顯然是舍入到6位數。因此23.123456四捨五入到23.1235 .....和12345678四捨五入到12345700SQL表列「float」舍入到6位數字
如何防止/更改此?
由於
浮法(和Real爲完整起見)是近似的值。請閱讀浮點數據類型,例如here
如果您需要更高精度的操作結果,請使用數字或小數數據類型。從上面的鏈接中,在sql server中,默認的最大精度是38.即在執行計算時,您將有多達38位精確數字。
只需使用更高精度的數據類型。雙倍,十進制等 – vittore
我在金融行業從事多年工作,從我的經歷來看,我可以說我總是遇到「浮動」問題。這只是沒有用(因爲其他人已經解釋的原因),當涉及到精確的數字時,這取決於你在做什麼,這通常是至關重要的。由於我發現了float的許多問題,因此我們從未在任何數據庫中再次使用它,並將所有浮點數更改爲數字。我的建議:不要懶惰,避免使用舒適的浮動,數字需要多一點工作,但從長遠來看,這真的是值得的(在我看來)。 – Reboon