当我试图将数据类型从float更改为double时,所有的十进制值也都会更改。
例如,0.3变为0.30000001192092896。如何避免这种情况?
我只是用

ALTER TABLE `table1` MODIFY `weight` double;

最佳答案

欢迎来到“二进制分数与小数不直接匹配”和“从不为相等而比较浮点数”的奇妙世界。。。
更改后,您可以尝试:

UPDATE table1 set weight = ROUND(weight, 7);

(或者尝试6而不是7)以消除额外的转换噪声。。。

关于mysql - 如何将mysql列类型从float更改为double并按原样保存值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27388854/

10-13 08:53
查看更多