首页 MySql 在MySQL中,将1转换为十进制返回0.9999而不是1.0000

在MySQL中,将1转换为十进制返回0.9999而不是1.0000

在MySQL中将1转换为十进制时,我期待1.0000,但输出为0.9999.到底发生了什么?SELECT CAST(1 AS DECIMAL(4,4)) 最佳答案超出范围例如,DECIMAL(5,2)存储五位数和两位小数的任何值,其范围为-999.99到999.99.SELECT CAST(1 AS DECIMAL(5,4)) – 1.0000 SE

在MySQL中将1转换为十进制时,我期待1.0000,但输出为0.9999.

到底发生了什么?

SELECT CAST(1 AS DECIMAL(4,4))

最佳答案
超出范围

例如,DECIMAL(5,2)存储五位数和两位小数的任何值,其范围为-999.99到999.99.

SELECT CAST(1 AS DECIMAL(5,4)) -> 1.0000
SELECT CAST(1 AS DECIMAL(4,3)) -> 1.000
SELECT CAST(0.0001 AS DECIMAL(4,4)) -> 0.0001
SELECT CAST(0.00001 AS DECIMAL(4,4)) -> 0.0000
SELECT CAST(12345 AS DECIMAL(5,4)) -> 9.9999

更多信息:

https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html
https://dev.mysql.com/doc/refman/5.7/en/fixed-point-types.html

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/shujuku/mysql/20201215/13741.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

返回顶部