decimal 和 float 在基础上是完全不同的数据类型
decimal 是存储的是精确值,float则是近似值
decimal(n)
数值范围 1E-38 to -1E-38
有效数字 38位
float(n)
数值范围 - 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308
有效数字 7 or 15
结论:
decimal 精度高, 数值范围小,float 精度低, 数值范围大
decimal 运算速度比float快, 使用float时避免使用 = 运算(因为float的不确定性)
decimal 适合金融, 统计, float适合科学运算
----------------------------------------------------
1.金额数据量的大小,量大用float,能省好多空间
2.运算与精度要求,要求高用decimal
------------------------------------------------------
用float 存到数据库会出现10.000000887788
后面的数字0887788是随机的,处理起来比较麻烦,实际开发经验
decimal 是存储的是精确值,float则是近似值
decimal(n)
数值范围 1E-38 to -1E-38
有效数字 38位
float(n)
数值范围 - 1.79E+308 to -2.23E-308, 0 and 2.23E-308 to 1.79E+308
有效数字 7 or 15
结论:
decimal 精度高, 数值范围小,float 精度低, 数值范围大
decimal 运算速度比float快, 使用float时避免使用 = 运算(因为float的不确定性)
decimal 适合金融, 统计, float适合科学运算
----------------------------------------------------
1.金额数据量的大小,量大用float,能省好多空间
2.运算与精度要求,要求高用decimal
------------------------------------------------------
用float 存到数据库会出现10.000000887788
后面的数字0887788是随机的,处理起来比较麻烦,实际开发经验