gpt4 book ai didi

Java 与 MySQL : float type difference

转载 作者:行者123 更新时间:2023-11-29 04:46:14 24 4
gpt4 key购买 nike

我在 java 中使用 float ,打印它们并将它们存储在 MySQL 浮点列中。结果是java打印显示如下x=260.1201 y=260.12

没关系,因为x=y+0.0001当我尝试将这些值存储在 MySQL 的两个浮点列中时,我可以在其中读取的值是x=260.12 y=260.12

为什么会有这种差异? java的float和MySQL的float不是一回事吗?

只是另一个问题:我可以预期在哪个更大的值下可以正确地使用 java float 来获得 0.0001 的精度?

最佳答案

您正在突破 32 位 IEEE 754 的限制 Wikipedia浮点精度。它有大约 24 位的精度。通常的经验法则是可用的最小增量值大约是您要增加的数字值的 1/10**7。

261.1200 和 261.1201 在存储在 FLOAT 中的精度级别上是相同的值。这个 SQL Fiddle 演示了这个事实。 http://sqlfiddle.com/#!2/2a521/2/0

所有floatdouble 数字都是近似值。

http://dev.mysql.com/doc/refman/5.0/en/problems-with-float.html

http://introcs.cs.princeton.edu/java/91float/

当两个浮点值 == 彼此不相等时,即使您认为它们应该相等,这也不足为奇。当他们出现时总是令人惊讶。

关于Java 与 MySQL : float type difference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com