为什么要保存的精度较高的数值,最好使用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进行计算,查看数据的精度。祝学习愉快!

0

好帮手慕小尤

2019-08-20

    同学你好,DECIMAL字段并不是四舍五入哦!DECIMAL数据类型用于在数据库中存储精确的数值。经常将DECIMAL数据类型用于保留准确精确度的列,例如会计系统中的货币数据。

    DECIMAL(P,D):表示列可以存储D位小数的P位数。P是表示有效数字数的精度(P范围为1〜65)。D是表示小数点后的位数(D的范围是0~30。MySQL要求D小于或等于P)。

    祝学习愉快!

0
heixin_慕沐1043483
h n那么请问为什么要保存的精度较高的数值,最好使用DECIMAL 啊?用float和double不是一样的吗?
h019-08-20
共1条回复

0 学习 · 4928 问题

查看课程