mysql中要存储小数用什么类型数据好?

mysql中要存储小数用什么类型数据好?,第1张

要求精度高就用decimal

审题错了...

简单写下区别:

float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位)

double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位)

decimal:数字型,128bit,不存在精度损失,常用于银行帐目计算。(28个有效位)

numberic === decimal

float f = 345.98756f//结果显示为345.9876,只显示7个有效位,对最后一位数四舍五入。

double d=345.975423578631442d//结果显示为345.975423578631,只显示15个有效位,对最后一位四舍五入。

注:float和double的相乘 *** 作,数字溢出不会报错,会有精度的损失。

decimal dd=345.545454879.....//可以支持28位,对最后一位四舍五入。

注:当对decimal类型进行 *** 作时,数值会因溢出而报错。

X是数值,D是保留小数的位数。

其作用就是按照小数位数,进行数值截取(此处的截取是按保留位数直接进行截取,没有四舍五入)。

1.结果直接截断

2.不会有0的填充,比如¥330.8,不会显示¥330.80

转换类型

结果会有0的填充

X是数值,D是保留小数的位数。

1.结果四舍五入。

2.不会有0的填充。

DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值,例如货币数据。当声明该类型的列时,可以(并且通常要)指定精度和标度;例如:

DECIMAL(10,2)

在该例子中,10是精度,2是标度。精度表示保存值的主要位数,标度表示小数点后面可以保存的位数


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8658066.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存