MySQL中的数据类型有:float,double等非精准数据类型和decimal这种精准。
区别:float,double等非精准类型,在DB中保存的是近似值。
Decimal则以字符串的形式保存精确的原始数值。
decimal介绍:
decimal(a,b)
其中:a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。
备注:DECIMAL数据类型用于要求非常高的精确度的计算中,这些类型允许指定数值的精确度和计数方法作为选择参数。精确度在这里是指为这个值保存的有效数字的总个数,而计数方法表示小数点后数字的个数。
MySQL中存在float,double等非精准数据类型,也有decimal这种精准数据类型。
其区别在于,float,double等非精准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存精确的原始数值。
十进制小数,他的精度高,而且没有误差。楼上说的不对,ta和浮点数相差很大。浮点数是直接把小数转化为二进制,二多数小数转化为二进制是有误差的,也就是说不能精确表示。decimal则可以没有任何误差的表示小数
与DOUBLE形式相同。DECIMAL可能的最大取值范围与DOUBLE相同,但是有效的取值范围由M和D决定。如果改变M而固定D,则取值范围将随M的变大而变大。
mysql数值类型中有很多种,其他两种的类型都与这个类型不相符所以不能同时使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)