社区
MySQL
帖子详情
mysql Float类型和double类型的区别
fanyi2003
2005-03-11 07:38:24
我在mysql数据库中设置了float(32,5)类型的数据 插入数据3947483999会变成3947483904.00000 而改成double(32,5)就正常了
请问:为什么会出现这种现象?
float,double型的数据在mysql中的存储方式是什么样的
...全文
4178
3
打赏
收藏
mysql Float类型和double类型的区别
我在mysql数据库中设置了float(32,5)类型的数据 插入数据3947483999会变成3947483904.00000 而改成double(32,5)就正常了 请问:为什么会出现这种现象? float,double型的数据在mysql中的存储方式是什么样的
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fanyi2003
2005-03-14
打赏
举报
回复
就是因为看了<MySQL 3.23 中文参考手册>一文,所以设置了float(32,5)这样一个字段来测试float
float是用4个([1,24))或者8个([24,53))字节存储数据,
我设置了数据3647483999插入表中 结果得到3647483904.00000 ,修改任何小数部分也得到3647483904.00000 然而修改成3947483904.00000,3997483904.00000 却成功保存
我开始怀疑是不是mysql的float类型的数据的高位字节和低位字节之间的进位有问题啊?
后来发现应该是与科学记数法有关,不管你设置多少位小数,当整数部分超过512的时候 mysql总是以科学技术法的方式来保存数据....
不知道这个分析对不对?
今晚打老虎2010
2005-03-11
打赏
举报
回复
FLOAT[(M,D)] [ZEROFILL]
一个小(单精密)浮点数字。不能无符号。允许的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。M是显示宽度而D是小数的位数。没有参数的FLOAT或有<24 的一个参数表示一个单精密浮点数字。
DOUBLE[(M,D)] [ZEROFILL]
一个正常大小(双精密)浮点数字。不能无符号。允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。M是显示宽度而D是小数位数。没有一个参数的DOUBLE或FLOAT(X)(25 < = X < = 53)代表一个双精密浮点数字。
jxhj
2005-03-11
打赏
举报
回复
double比float支持的位數要長
MySQL
中Decimal
类型
和
Float
Double的
区别
& BigDecimal与Double使用场景
MySQL
中存在
float
,double等非标准数据
类型
,也有decimal这种标准数据
类型
。 其
区别
在于,
float
,double等非标准
类型
,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值。
float
,
double
类型
是可以存浮点数(即小数
类型
),但是
float
有个坏处,当你给定的数据是整数的时候,那么它就以整数给你处理。这样我们在存取货币值的时候自然遇到问题,我的d...
MySQL
类型
float
double decimal的
区别
float
数值
类型
用于表示单精度浮点数值,而double数值
类型
用于表示双精度浮点数值,
float
和double都是浮点型,而decimal是定点型;
MySQL
浮点型和定点型可以用
类型
名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如
float
(7,4)的 可显示为-999.9999,
MySQL
保存值时进行四舍五入,如果插入999.00...
MySQL
中Decimal
类型
和
Float
Double等
区别
MySQL
中存在
float
,double等非标准数据
类型
, 也有decimal这种标准数据
类型
。 其
区别
在于,
float
,double等非标准
类型
,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值。 数据定义
float
(M,S) M为全长,S为小数点后长度。对于不精准的例子,网络上很多,Copy如下:
mysql
> create table t1(c
mysql
float
java_
MySQL
类型
float
double decimal的
区别
float
数值
类型
用于表示单精度浮点数值,而double数值
类型
用于表示双精度浮点数值,
float
和double都是浮点型,而decimal是定点型;
MySQL
浮点型和定点型可以用
类型
名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如
float
(7,4)的 可显示为-999.9999,
MySQL
保存值时进行四舍五入,如果插入999.00009,则结...
mysql
float
double
区别
_
mysql
float
和
double
类型
的
区别
2017-11-04 回答1.
float
类型
float
列
类型
默认长度查不到结果,必须指定精度,比如num
float
, insert into table (num) values (0.12); select * from table where num=0.12的话,empty set。num
float
(9,7), insert into table (num) values (0.12);...
MySQL
57,062
社区成员
56,759
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章