mysql數(shù)據(jù)庫(kù)decimal類(lèi)型與decimal長(zhǎng)度用法詳解
項(xiàng)目涉及到金錢(qián)的存儲(chǔ),數(shù)據(jù)庫(kù)對(duì)應(yīng)字段類(lèi)型建議使用decimal,這是今天學(xué)到的。
下面我們來(lái)一起學(xué)習(xí)一下
1.三者的區(qū)別介紹
float:浮點(diǎn)型,含字節(jié)數(shù)為4,32bit,數(shù)值范圍為-3.4E38~3.4E38(7個(gè)有效位)
double:雙精度實(shí)型,含字節(jié)數(shù)為8,64bit數(shù)值范圍-1.7E308~1.7E308(15個(gè)有效位)
decimal:數(shù)字型,128bit,不存在精度損失,常用于銀行帳目計(jì)算。(28個(gè)有效位)
2.按存儲(chǔ)的范圍進(jìn)行排序
float(real) double decimal(numeric)
3.decimal的詳細(xì)介紹
decimal(a,b)
參數(shù)說(shuō)明:
a指定指定小數(shù)點(diǎn)左邊和右邊可以存儲(chǔ)的十進(jìn)制數(shù)字的最大個(gè)數(shù),最大精度38。 b指定小數(shù)點(diǎn)右邊可以存儲(chǔ)的十進(jìn)制數(shù)字的最大個(gè)數(shù)。小數(shù)位數(shù)必須是從
0 到 a之間的值。默認(rèn)小數(shù)位數(shù)是 0。
備注
DECIMAL數(shù)據(jù)類(lèi)型用于要求非常高的精確度的計(jì)算中,這些類(lèi)型允許指定數(shù)值的精確度和計(jì)數(shù)方法作為選擇參數(shù)。精確度在這里是指為這個(gè)值保存的有效數(shù)字的總個(gè)數(shù),而計(jì)數(shù)方法表示小數(shù)點(diǎn)后數(shù)字的個(gè)數(shù)。例如,語(yǔ)句DECIMAL
(5,2)規(guī)定了存儲(chǔ)的值將不會(huì)超過(guò)5位數(shù)字,開(kāi)且小數(shù)點(diǎn)后面有2位數(shù)字。
實(shí)例
float f = 345.98756f;--結(jié)果顯示為345.9876,只顯示7個(gè)有效位,對(duì)最后一位數(shù)四舍五入。 double d=345.975423578631442d;--結(jié)果顯示為345.975423578631,只顯示15個(gè)有效位,對(duì)最后一位四舍五入。 --注:float和double的相乘操作,數(shù)字溢出不會(huì)報(bào)錯(cuò),會(huì)有精度的損失。 decimal dd=345.545454879.....--可以支持28位,對(duì)最后一位四舍五入。 --:當(dāng)對(duì)decimal類(lèi)型進(jìn)行操作時(shí),數(shù)值會(huì)因溢出而報(bào)錯(cuò)。
總結(jié)
數(shù)值存儲(chǔ)范圍越小的精度越高,存儲(chǔ)數(shù)值范圍越大,精度就越不準(zhǔn)確,如果存儲(chǔ)正常金額的情況下,使用money,好處在于可以存儲(chǔ)不指定的小數(shù)點(diǎn)位數(shù)的數(shù)值,比較真實(shí)。如果對(duì)于既要求精度,又固定小數(shù)點(diǎn)位數(shù)的數(shù)值存儲(chǔ),采用decimal(numeric),優(yōu)點(diǎn)在于可以自定義小數(shù)點(diǎn)位數(shù),精度高。如特殊情況,如數(shù)值范圍巨大只能用float(real)類(lèi)型了,此類(lèi)型一般不提倡使用。
到此這篇關(guān)于mysql數(shù)據(jù)庫(kù)decimal類(lèi)型與decimal長(zhǎng)度用法的文章就介紹到這了,更多相關(guān)mysql decimal與decimal長(zhǎng)度用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- mysql decimal數(shù)據(jù)類(lèi)型轉(zhuǎn)換的實(shí)現(xiàn)
- MySQL數(shù)據(jù)類(lèi)型DECIMAL用法詳解
- mysql中decimal數(shù)據(jù)類(lèi)型小數(shù)位填充問(wèn)題詳解
- 深入分析MySQL數(shù)據(jù)類(lèi)型 DECIMAL
- MySQL中decimal類(lèi)型用法的簡(jiǎn)單介紹
- 詳解MySQL數(shù)據(jù)類(lèi)型DECIMAL(N,M)中N和M分別表示的含義
- MySQL數(shù)據(jù)類(lèi)型中DECIMAL的用法實(shí)例詳解
- mysql decimal類(lèi)型判斷是否為0
相關(guān)文章
Windows平臺(tái)配置5.7版本+MySQL數(shù)據(jù)庫(kù)服務(wù)
這篇文章主要介紹了Windows平臺(tái)配置5.7版本+MySQL數(shù)據(jù)庫(kù)服務(wù)的方法,包括初始化root用戶(hù)密碼password的過(guò)程以及兩個(gè)常見(jiàn)問(wèn)題的解決方法,需要的朋友參考下吧2017-06-06
mysql常用sql與命令之從入門(mén)到刪庫(kù)跑路
這篇文章主要介紹了mysql sql命令之從入門(mén)到刪庫(kù)跑路的相關(guān)命令與操作2021-03-03

