当前位置:  开发笔记 > 编程语言 > 正文

双重小于零的双重投射

如何解决《双重小于零的双重投射》经验,为你挑选了1个好方法。

一个重要的注意事项:由于浮点数的工作方式,你不应该直接比较两个双精度(或通常说的浮点数)的相等性,如果它们的差值在指定的delta内,则总是进行比较:abs(double1 - double2) < delta.

JUnit有一种assertEquals(double expected, double actual, double delta)方法可以做到这一点.也就是说,你应该使用类似的东西

assertEquals(-1.0d, (double) out, 0.000001d)

在你的代码中.

你可以在Brian Goetz的文章中找到更多有关浮点数的技巧和陷阱:"你的意思在哪里?"



1> WMR..:

一个重要的注意事项:由于浮点数的工作方式,你不应该直接比较两个双精度(或通常说的浮点数)的相等性,如果它们的差值在指定的delta内,则总是进行比较:abs(double1 - double2) < delta.

JUnit有一种assertEquals(double expected, double actual, double delta)方法可以做到这一点.也就是说,你应该使用类似的东西

assertEquals(-1.0d, (double) out, 0.000001d)

在你的代码中.

你可以在Brian Goetz的文章中找到更多有关浮点数的技巧和陷阱:"你的意思在哪里?"

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有