十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
就是你插入数据时会保存到小数点后几位。比如插入数据(double) 0.1111,小数点那填的是2 的会最后保存的是0.11.
为灵璧等地区用户提供了全套网页设计制作服务,及灵璧网站建设行业解决方案。主营业务为网站设计、成都网站设计、灵璧网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:
char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.(在检索操作中那些填补出来的空格字符将被去掉)在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+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类型进行操作时,数值会因溢出而报错。
可以在建表的时候限定小数点的长度,例如decimal(5,2),后面的2就是2位的意思。
如果表已经建好,可以在查询语句中用函数 round(X,2) 转换,X为字段,后面的数字为长度,你要几位就填几。
设置方法:
1、安装好Mysql后 下载navicat类似管理工具。
2、根据所需连接Mysql,新建数据库、表,根据字段设置长度。
3、完成后保存数据 具体操作图片如下 最总得出结论有长度,小数点设置所以可以设置类型长度。
Navicat是一套快速、可靠并价格相宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理员、开发人员及中小企业的需要。Navicat 是以直觉化的图形用户界面而建的,让你可以以安全并且简单的方式创建、组织、访问并共用信息。
1、数据库一般decimal用的比较多 ,double和float没用过。其实小数长度是看业务需求的,精度需求。
2、小数长度是看业务需求的。比如拿价格来说,现在少数超市商品有分的,一般都是到角,所以说精度比分小一级就好了,满足了需求,又可以防止以后需求变动。
最佳的方式是用PHP的函数;
round(x,prec):round() 函数对浮点数进行四舍五入。
参考
类型设为decimal,长度设为10,2
虽然类型也可以设为float,但填充数据有时候会不准确,所以建议还是用货币型:decimal