Mysql中设置小数点用什么数据类型 decimal

Mysql中设置小数点用什么数据类型 decimal,第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类型进行 *** 作时,数值会因溢出而报错。

直接将百分率那列乘以0.01即可(中间需要提取%百分号左侧的有理数,包括使用转换函数强制转换成实数,如双精度浮点数)。

-- 伪码

SELECT percentage*0.01 AS chValue

-- such as

20%=20*0.01=0.20

1、你可以在创建表的时候限制小数点的位数,如create table xxx(abc decimal(10,2))

其中decimal(10,2),就是指整数10位,保留2位小数

2、你可以查询的时候用round()函数四舍五入保留小数,如select round(abc,2)


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

原文地址: http://outofmemory.cn/zaji/5905540.html

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

发表评论

登录后才能评论

评论列表(0条)

保存