下面的示例给出了一个解释FLOAT如何在mySQL中工作的解释吗?我知道浮球是近似的,但真的,这样的差异?而且只有9位数字,所以它不是溢出问题,不是吗?mysql中的浮点精度问题
mysql> create table t(f FLOAT(15,2), db DOUBLE);
mysql> insert into t(f,db) VALUES (512659663, 512659663);
mysql> select * from t;
+--------------+-----------+
| f | db |
+--------------+-----------+
| 512659648.00 | 512659663 |
+--------------+-----------+
(MySQL的版本14.14 DISTRIB 44年5月1日,为Win32(IA32)在Windows XP)
是否可以估计近似误差?它取决于数字的大小,还是还有别的? – 2010-12-23 16:49:55
@ts:32位IEEE 754浮点数可以保存约7位精度的十进制数字; 64位的可以保存16位十进制数字。任何超过7位的数字都会遇到问题。 FLOAT(15,2)限定符比有效的更为一厢情愿; (15,2)基本上被忽略。 – 2010-12-23 17:03:23