美文网首页
[译] MySQL 浮点类型介绍 - FLOAT,DOUBLE

[译] MySQL 浮点类型介绍 - FLOAT,DOUBLE

作者: 翼徳 | 来源:发表于2017-03-09 10:52 被阅读1224次

原文地址:https://dev.mysql.com/doc/refman/5.5/en/floating-point-types.html

FLOATDOUBLE 类型表示近似值。MySQL 对单精度值使用四个字节,双精度值使用八个字节。

对于 FLOAT,SQL 规范允许在 FLOAT 后面通过括号中的关键字来指定精度(不是指数的范围)。 MySQL 也支持这个精度规范,但精度值仅用于确定存储大小。精度从 0 到 23 表示一个 4 字节的单精度 FLOAT 列,从 24 到 53 表示 8 字节双精度 DOUBLE 列。

MySQL 允许非标准语法:FLOAT(M,D)或 REAL(M,D)或DOUBLE PRECISION(M,D)。(M,D)表示总共可以存储最多 M 位数的值,其中 小数点后可以存 D 位数。 例如,定义为 FLOAT(7,4) 的列在显示时将显示为 -999.9999 。 MySQL 在存储值时执行四舍五入,因此,如果将 999.00009 插入到 FLOAT(7,4) 列中,则近似结果为999.0001。

因为浮点值是近似值而不是作为精确值存储,所以将其精确处理可能会导致一些问题。它们也受平台或实现依赖性的约束。有关更多信息,请参见 第B.5.4.8节“Problems with Floating-Point Values”

为了保证可移植性,在存储近似值时应使用 FLOAT 或 DOUBLE PRECISION,最好不要指定精度或数字位数。

相关文章

网友评论

      本文标题:[译] MySQL 浮点类型介绍 - FLOAT,DOUBLE

      本文链接:https://www.haomeiwen.com/subject/yhqbgttx.html