新聞中心

為德州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及德州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、德州網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
浮點類型有兩種,分別是單精度浮點數(shù)(
FLOAT)和雙精度浮點數(shù)(
DOUBLE);定點類型只有一種,就是
DECIMAL。
浮點類型和定點類型都可以用
(M, D)來表示,其中
M稱為精度,表示總共的位數(shù);
D稱為標(biāo)度,表示小數(shù)的位數(shù)。
浮點數(shù)類型的取值范圍為 M(1~255)和 D(1~30,且不能大于 M-2),分別表示顯示寬度和小數(shù)位數(shù)。M 和 D 在 FLOAT 和DOUBLE 中是可選的,F(xiàn)LOAT 和 DOUBLE 類型將被保存為硬件所支持的最大精度。DECIMAL 的默認 D 值為 0、M 值為 10。
下表中列出了 MySQL 中的小數(shù)類型和存儲需求。
| 類型名稱 | 說明 | 存儲需求 |
|---|---|---|
| FLOAT | 單精度浮點數(shù) | 4 個字節(jié) |
| DOUBLE | 雙精度浮點數(shù) | 8 個字節(jié) |
| DECIMAL (M, D),DEC | 壓縮的“嚴格”定點數(shù) | M+2 個字節(jié) |
DECIMAL 類型不同于 FLOAT 和 DOUBLE。DOUBLE 實際上是以字符串的形式存放的,DECIMAL 可能的最大取值范圍與 DOUBLE 相同,但是有效的取值范圍由 M 和 D 決定。如果改變 M 而固定 D,則取值范圍將隨 M 的變大而變大。
從上表中可以看到,DECIMAL 的存儲空間并不是固定的,而由精度值 M 決定,占用 M+2 個字節(jié)。
FLOAT 類型的取值范圍如下:
- 有符號的取值范圍:-3.402823466E+38~-1.175494351E-38。
- 無符號的取值范圍:0 和 -1.175494351E-38~-3.402823466E+38。
DOUBLE 類型的取值范圍如下:
- 有符號的取值范圍:-1.7976931348623157E+308~-2.2250738585072014E-308。
- 無符號的取值范圍:0 和 -2.2250738585072014E-308~-1.7976931348623157E+308。
FLOAT 和 DOUBLE 在不指定精度時,默認會按照實際的精度(由計算機硬件和操作系統(tǒng)決定),DECIMAL 如果不指定精度,默認為(10,0)。
浮點數(shù)相對于定點數(shù)的優(yōu)點是在長度一定的情況下,浮點數(shù)能夠表示更大的范圍;缺點是會引起精度問題。
最后再強調(diào)一下:在 MySQL 中,定點數(shù)以字符串形式存儲,在對精度要求比較高的時候(如貨幣、科學(xué)數(shù)據(jù)),使用 DECIMAL 的類型比較好,另外兩個浮點數(shù)進行減法和比較運算時也容易出問題,所以在使用浮點數(shù)時需要注意,并盡量避免做浮點數(shù)比較。
網(wǎng)站題目:MySQLFLOAT、DOUBLE、DECIMAL(小數(shù)類型)
文章地址:http://m.fisionsoft.com.cn/article/dpiisgp.html


咨詢
建站咨詢
