mysql——decimal类型与decimal长度
生活随笔
收集整理的這篇文章主要介紹了
mysql——decimal类型与decimal长度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
分為三種:
- float:浮點型,含字節數為4,32bit,數值范圍為-3.4E38~3.4E38(7個有效位)
- double:雙精度實型,含字節數為8,64bit,數值范圍-1.7E308~1.7E308(15個有效位)
- decimal:數字型,128bit,不存在精度損失,常用于銀行賬目計算(28個有效位)
顧名思義就是double型的實體占用內存空間是float的兩倍。float是4個字節而double是8個字節。float和double類型的數據,無法精確表示計算結果,這是由于float和double是不精確的計算。
項目中有小數計算,需要限制小數點后兩位,float類型計算有誤差,于是使用decimal類型計算。
decimal的詳細介紹
decimal(a,b)
參數說明:
a指定小數點左邊和右邊可以存儲的十進制數字的最大個數,最大精度38。
b指定小數點右邊可以存儲的十進制數字的最大個數,小數位數必須是從0到a之間的值,默認小數位數是0.
DECIMAL(20,2) 指的就是總共能存20位數字,末尾2位是小數(小數點不算在長度內)
總結
數值存儲范圍越小的精度越高,存儲數值范圍越大,精度就越不準確。
如果存儲正常金額的情況下,使用money,好處在于可以存儲不指定的小數點位數的數值,比較真實。如果對于既要要求精度,又要固定小數點位數的數值存儲,采用decimal(numeric),優點在于可以自定義小數點位數,精度高。如果數值范圍巨大只能用float(real)類型了,一般不提倡使用
總結
以上是生活随笔為你收集整理的mysql——decimal类型与decimal长度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: erlang精要(30)-卫语句
- 下一篇: 嵌入式设计与开发实践要点[1.2]-嵌入