mysql float和decimal】的更多相关文章

结论: 1. float 默认只保存6位(除去小数点),如果超过6位,则四舍五入,所以float存储的数据是不精确的,只是近似值: 2. decimal,如果输入的数据超过了定义的最大值,那么则溢出,数据库里面存储的是定义的最大值,例如,decimal(5,2)输入123123.45,实际存储为999.99: 3. decimal,如果只是小数部分超过定义的长度,那么则截断(非四舍五入)指定长度,例如,decimal(10,2)输入12345678.123456,实际存储为12345678.12…
想一个问题: 1/3+1/3+1/3=1.0 0.3+0.3+0.3 =0.9 想一想在小数的世界里要什么表示1/3呢!它的办法就是取一个与1/3十分接近的小数来代替:如上面例子中的0.3来代替1/3:这样问题就来了存进去的是3个1/3取出时就只有0.9. 也许你感觉1/3这个数太特别了它本来就有无数位,近似值代替也是没有办法的.可是你知道吗?在二进制的世界里0.1这样的数也不是可以精确的存储的(float),如果不明白这点就去看IEEE 754 标准.下面给出一个0.1的例子. create…
decimal 类型可以精确地表示非常大或非常精确的小数.大至 1028(正或负)以及有效位数多达 28 位的数字可以作为 decimal类型存储而不失其精确性.该类型对于必须避免舍入错误的应用程序(如记账)很有用. float是浮点数,不能指定小数位. decimal是精确数,可以指定精度. 对mysql 5来说 decimal(p,s)中p最大为65,S最大为30 decimal数据类型最多可存储 38 个数字,它存储了一个准确(精确)的数字表达法,不存储值的近似值. 当数据值一定要按照指定…
最近在准备给开发做一个mysql数据库开发规范方面培训,一步一步来,结合在生产环境发现的数据库方面的问题,从几个常用的数据类型说起. int.tinyint与bigint 它们都是(精确)整型数据类型,但是占用字节数和表达的范围不同.首先没有这个表就说不过去了: Type Storage Minimum Value Maximum Value   (Bytes) (Signed/Unsigned) (Signed/Unsigned) TINYINT 1 -128 127     0 255 SM…
(转载)http://database.51cto.com/art/201005/201651.htm 在MySQL数据类型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它们都有各自的作用,下面我们就主要来介绍一下MySQL数据类型中的DECIMAL类型的作用和用法. 一般赋予浮点列的值被四舍五入到这个列所指定的十进制数.如果在一个FLOAT(8, 1)的列中存储1. 2 3 4 5 6,则结果为1. 2.如果将相同的值存入FLOAT(8, 4) 的列中,则结果为1. 2…
今天群里一个哥们问我mysql怎么将decimal转成varchar,经过查阅资料发现,mysql好像不能将decimal直接转换成varchar,但是可以转成char,原文链接:http://stackoverflow.com/questions/5114959/mysql-casting-from-decimal-to-string 类似于这样的: SELECT CAST(SUM(decimal_name) AS CHAR(50)) FROM article,注意关于mysql的sum函数返…
本文转载自Boblim的文章http://www.cnblogs.com/fnlingnzb-learner/p/8108119.html 在MySQL数据类型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它们都有各自的作用,下面我们就主要来介绍一下MySQL数据类型中的DECIMAL类型的作用和用法. 一般赋予浮点列的值被四舍五入到这个列所指定的十进制数.如果在一个FLOAT(8, 1)的列中存储1. 2 3 4 5 6,则结果为1. 2.如果将相同的值存入FLOAT(…
在SQL Server中,小数数值实际上只有两种数据类型:float 和 decimal.double precision 整体是数据类型,等价于 float(53),real等价于float(24),应该避免在程序中直接使用 double precision 和 real,而是用 float 代替.numeric 和 decimal是同义词. float是近似数值,存在精度缺失,Decimal是精确数值,不存在精度损失.当数值不允许精度丢失时,使用 decimal数据类型存储.在计算小数的除法…
原文:什么时候需要使用Double? double.float.decimal的区别 float:浮点型,含字节数为4,32bit,数值范围为-3.4E38~3.4E38(7个有效位) double:双精度实型,含字节数为8,64bit数值范围-1.7E308~1.7E308(15个有效位) decimal:数字型,128bit,不存在精度损失(相对不存在,28个有效位后会报错),常用于银行帐目计算.(28个有效位) float f = 345.98756f;//结果显示为345.9876,只显…
TypeError: unsupported operand type(s) for +: 'float' and 'decimal.Decimal' 浮点型和双精度类型 相加报错 from decimal import DecimalDecimal( float )+Decimal( float )  …