【mysql】decimal数据类型
1.float、double、decimal
float:浮点型,4字节,32bit。
double:双精度实型,8字节,64位
decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)
2.decimal使用说明:
decimal(a,b)
参数说明
a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。
b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。
备注
DECIMAL数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。例如,语句DECIMAL (5,2)规定了存储的值将不会超过5位数字,开且小数点后面有2位数字。
另:float和double做算术运算,数值溢出不会报错,精度会因此有损失。decimal会直接报错。
money可以更通用的表示金额,对于便利店商品这种通常固定至小数点后2位时,可以使用decimal。