我是scala的新手,在我的宝贝步骤中,我使用Centso 7.2和Scala 2.12与sbt控制台:我的问题是:
scala> val Y=5.12345938988398773983748934789473289472384723984723849
Y: Double = 5.123459389883988
这是15精度并给出值为
和
scala> val u=4.91839028309283892389012
u: Double = 4.9183902830928385
这应该是4.9183902830928 390 --->可能是我错过了一些东西,如果没有,那么它会失去精确值。
能否请您帮助我了解Scala如何处理这种情况导致这种精确度不一致。
答案 0 :(得分:2)
您可能知道,计算机存储的数字不是十进制格式,而是二进制格式。当谈到浮点数时,他们使用IEEE 754 standard。
Here您可以找到一个很好的解释和示例,说明计算机如何将浮点数转换为IEEE 754格式和从IEEE 754格式转换。