【发布时间】:2015-05-19 20:51:59
【问题描述】:
我有一个列设置为FLOAT(32,11),我在存储值时得到了一些奇怪的结果。现在我知道浮点数只是一个近似值,但这似乎是一个可怕的近似值,尤其是在给定的精度下。
mysql> CREATE TABLE test (a FLOAT(32,11));
mysql> INSERT INTO test (a) VALUES (300000.08);
mysql> SELECT * FROM test;
+--------------------+
| a |
+--------------------+
| 300000.09375000000 |
+--------------------+
1 row in set (0.00 sec)
似乎很奇怪,它没有使用所有可用的精度。关于我缺少什么的任何想法?
CentOS 上的 MySQL 版本 5.1.73
【问题讨论】:
-
您可能在存储限制中运行。如果您插入
30,000.08(小 10 倍),您会得到30,000.08007812500退出。 -
@Sajad 请不要劫持别人的问题!
-
@LorenzMeyer 你说得对,对不起!
标签: mysql