【发布时间】:2023-03-18 23:28:01
【问题描述】:
在 MySQL 中将 1 转换为十进制时,我期待的是 1.0000,但输出却是 0.9999。
这里到底发生了什么?
SELECT CAST(1 AS DECIMAL(4,4))
【问题讨论】:
-
因为你指定了小数点后会有四位数。
-
@tkausl 不是重复的,这个问题与 MySQL 无关。
-
看看这个dev.mysql.com/doc/refman/5.7/en/fixed-point-types.html。使用
Decimal(4,4),值的范围将是-0.9999 to 0.9999 -
没错!
Decimal(x,y)将保留(x minus y)小数点前的数字和y小数点后的数字。