从DOUBLE (15,2)转换为DECIMAL (15,2)

3
在MySQL中将double和decimal之间进行转换时会出现数据损失吗?
3个回答

2

双精度浮点数有约16位小数的精度。因此答案是否定的,因为两种类型都声明具有15位小数的精度。(如果这两种类型都有16位,则取决于存储的数字,因为双精度浮点数的精度实际上在15到16位之间。)


0
DECIMAL的最大位数为65(从MySQL 5.0.3到5.0.5为64)。在MySQL 5.0.3之前,DECIMAL值的最大范围与DOUBLE相同,但是给定DECIMAL列的实际范围可以受到给定列的精度或比例的限制。手册
我猜不会。

0

DOUBLE精度浮点数可以精确到大约15位小数。DECIMAL具有65位数字的精度。从DOUBLE转换为DECIMAL时不会丢失任何数据。正如Brad所说,以前DECIMAL值的最大范围与DOUBLE相同。数字类型概述

如果您对数据进行数字计算并需要超过15个小数位,请花时间将列转换为DECIMAL,因为DOUBLE存储的是该值的近似值而不是实际值。


1
我正在转换为十进制的确切原因。 - Chris Muench

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接