創建mysql數據表的時候,經常會遇到存儲小數(浮點數)的情況,如:價格,重量,身高等。
目前大的公司流行三種存儲方案:
1、將數據擴大10的倍數達到使用整數類型存儲目的。
比如價格,我們經常以分為單位進行存儲,也就是將數據擴大100倍,這樣元改成分存儲。
重量可以用克為單位,如果克還是小數,就以毫克,微克等單位進行存儲。
2、使用decimal類型的方式存儲
比如價格,我們可以使用兩位小數的精度進行存儲。強烈不建議采用float或者double的類型存儲,會存在精度損失的問題,在以后做值比較的時候,容易出現不正確的結果。
3、小數和整數部分分開存儲。
比如價格3.14,我們存成兩個字段,一個字段存儲3,一個字段存儲14,一般情況下用的少。當存儲的數據范圍超出decimal的范圍時,可以將數據按照整數和小數拆分。
這里推薦第一種方案。