如何在mysql版本(6.0.11-alpha-community)中定义[float]数据类型
Posted
技术标签:
【中文标题】如何在mysql版本(6.0.11-alpha-community)中定义[float]数据类型【英文标题】:How to define the [float] data type in mysql version (6.0.11-alpha-community) 【发布时间】:2021-09-25 11:40:50 【问题描述】:当我插入一个数字 1234567.1234567 时,它会将其转换为 1234567.1250。 如何才能保存正确的号码?
【问题讨论】:
那是一个充满bug的alpha版本,根本没有teste,你为什么用它? 我的队友说使用这个mysql版本(6.0.11-alpha-community)。你能建议我哪个mysql版本最适合工作环境吗? alpha 版本是供开发人员实现新功能的内部版本,当他们公开它时,它用于针对新功能测试您的代码,但 mysql 8 现在已经有一段时间了,所以请改用它 我确定我这样做了,在这个版本中,是否可以在之前和之后更改像这样 (1234567.1234567) 最大 7.7 值的浮点值。 (点)如果是的话建议我 没有浮点数、双精度数和十进制数都可以做到这一点。在这里你可以测试dbfiddle.uk/… 【参考方案1】:当我插入一个数字为 1234567.1234567 时,它会将其转换为 1234567.1250
FLOATs 保存在四个字节中,允许大约 232 个不同的值。 1234567.1234567 不是其中之一。可编码值都是有限整数乘以 2 的幂。
最接近的可编码值为 1234567.125 或 9876537*2-3。
代码可以使用DOUBLE
,但存在类似问题。
最接近的大约是 1234567.1234567000065...,对于 OP 的目的来说可能已经足够接近了。
【讨论】:
以上是关于如何在mysql版本(6.0.11-alpha-community)中定义[float]数据类型的主要内容,如果未能解决你的问题,请参考以下文章
如何在 phpMyAdmin 中将 MySQL 版本升级到最新版本?