mySql中double資料型別進製規則疑問???

2021-09-25 22:27:44 字數 659 閱讀 1921

sql的double資料型別網上看是採用四捨六入五成雙的方式。是一種比較精確比較科學的計數保留法,是一種數字修約規則。

規則如下:

1. 被修約的數字小於5時,該數字捨去;

2. 被修約的數字大於5時,則進製;

3. 被修約的數字等於5時,要看5前面的數字,若是奇數則進製,若是偶數則將5捨掉,即修約後末尾數字都成為偶數;若5的後面還有不為「0」的任何數,則此時無論5的前面是奇數還是偶數,均應進製。

舉例,用上述規則對下列資料保留3位:

9.8249=9.82,(4舍)

9.82671=9.83,(6入)

9.8350=9.84,(5後無有效數值,前面3奇數,舍5進1)

9.8351 =9.84,(5後面有有效數字,舍5進1)

9.8250=9.82,(5後面無有效數字,前面2偶數,舍5不進)

9.82501=9.83,(5後面有有效數字,舍5進1)

經過測試發現:1.005不進,10.005進製,100.005不進製,1000.005進製。

疑問:1.005不進滿足四捨六入五成雙,10.005又進製了,不滿足四捨六入五成雙。100.005不進製,1000.005進製。、

所以mysql的double到底是什麼進製規則呢???

我覺得應該從二進位制轉10進製去分析。但是感覺又不對。

OpenCL核心函式中定義double型別變數

要在opencl的kernel函式中使用雙精度的變數,必須 在配置頁開啟 強制支援雙精度浮點 強制cl khr fp64 選項,即在kernel函式 定義前加上如下紅色部分那句話 pragma opencl extension cl khr fp64 enable kernel void templ...

Java中double型別資料的比較

double a 0.001 double b 0.0011 bigdecimal data1 new bigdecimal a bigdecimal data2 new bigdecimal b data1.compareto data2 非整型數,運算由於精度問題,可能會有誤差,建議使用bigd...

mysql中資料型別總結 mysql資料型別總結

由mysql支援的列型別列在下面。下列 字母用於描述中 m 指出最大的顯示尺寸。最大的合法的顯示尺寸是 255 d 適用於浮點型別並且指出跟隨在十進位制小數點後的數碼的數量。最大可能的值是 30,但是應該不大於m 2。方括號 和 指出可選的型別修飾符的部分。注意,如果你指定乙個了為zerofill,...