为什么要保存的精度较高的数值,最好使用DECIMAL 啊?
来源:2-15 测试浮点类型
weixin_慕沐1043483
2019-08-20 16:45:54
为什么要保存的精度较高的数值,最好使用DECIMAL 啊?
DECIMAL 不是直接四舍五入成整数了吗?这样情况下的误差不更大吗?
2回答
好帮手慕小尤
2019-08-20
同学你好,因decimal的存储范围更大一点,并且float,double,因为他们容易产生误差。存储范围:
float:浮点型,含字节数为4,32字节,数值范围为-3.4E38~3.4E38(7个有效位)
double:双精度实型,含字节数为8,64字节数值范围-1.7E308~1.7E308(15个有效位)
decimal:数字型,128字节,不存在精度损失,常用于银行帐目计算。(28个有效位)
同学可以尝试创建三个字段,并添加数据数据后使用sum进行计算,查看数据的精度。祝学习愉快!
好帮手慕小尤
2019-08-20
同学你好,DECIMAL字段并不是四舍五入哦!DECIMAL数据类型用于在数据库中存储精确的数值。经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据。
DECIMAL(P,D):表示列可以存储D位小数的P位数。P是表示有效数字数的精度(P范围为1〜65)。D是表示小数点后的位数(D的范围是0~30。MySQL要求D小于或等于P)。
祝学习愉快!
相似问题
回答 1
回答 1