易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL的Double字段计算后的结果不对


这是为什么?
mysql版本号是 5.1.32-community
计算结果的错误是在自己程序中发现的,用MySQL控制台模拟了一下操作,还是如此。
请教大家,这是什么原因造成的?谢谢~

use test;
drop table if exists test999;
create table test999 (f1 double);
insert into test999(f1)values(0.999999999999886);
select f1 - 1 from test999;
select 0.999999999999886-1 from test999;

运行结果:
mysql> select f1 - 1 from test999;
+---------------------+
| f1 - 1              |
+---------------------+
| -1.14019904629e-013 |
+---------------------+

mysql> select 0.999999999999886-1 from test999;
+---------------------+
| 0.999999999999886-1 |
+---------------------+
|  -0.000000000000114 |
+---------------------+
浮点运算误差,很正常,一般语言中也如此




嗯。谢谢你提的解决方案。
不过还想多麻烦一下,为什么两个应该同样的结果却不一样?

1.浮点运算误差引起
2.输出格式的关系,好像在my.ini中可以改,具体查一下mysql手册



嗯。多谢了,我去好好研究下


相关问答:

mysql的连接超时时间怎么设置 - VC/MFC / 数据库

我是用mysql自带的C API
if(mysql_real_connect(&mysql,"125.0.0.108","root","root","home",3306,NULL,0))

AfxMessageBox("数据库连接失败") ......

Winform+MySQL做项目

Winform+MySQL做项目,在注重性能的情况下,我该如何去完成这类型的项目呢!
请各位给以提示。
你这个范围太广了,我说2点重要的吧
1.WINFORM程序是单独运行的CS程序,和BS不同,BS的压力始终都在SERVER上的,对C ......

mysql 导致死机

环境:win2003 apache2 resin3 php5 mysql5
mysql错误里出现这个,服务器直接死到那里。
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_log ......

MYSQL 如何修改BLOB类型的数据?

如题 数据是BLOB类型 怎么才能修改其中的某些值
BLOB中存入的是什么内容?

假设字段memo为blob类型,在该字段的值前面增加字符串'add--'
则操作语句如下:
SQL code:
update tb_blog set memo=concat( ......

mysql模糊查询如何查询两个关键字

我用的like模糊查询,比如mysql的name中有“csdn论坛系统”这几个字,如何在 <input>中查询“csdn 系统”也能出来这个“csdn论坛系统”,我现在是查“csdn”或者“系统”都可以。谢谢各位了!不知道我这么表达 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号