Java经典实例:比较浮点数
生活随笔
收集整理的這篇文章主要介紹了
Java经典实例:比较浮点数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** Created by Frank* 比較浮點數*/
public class FloatCmp {// 公差private final static Double EPSILON = 0.0000001;public static void main(String[] args) {double da = 3 * .3333333333;double db = 0.99999992857;// 基本類型可以優先使用==進行比較if (da == db) {System.out.println("Java considers " + da + "==" + db);}// 使用重載的equals方法else if (equals(da, db, 0.0000001)) {System.out.println("Equal within epsilon " + EPSILON);} else {System.out.println(da + "!=" + db);}}/*** 在給定精度范圍內比較2個double類型值** @param a 參數a* @param b 參數b* @param eps 給定的公差值* @return 比較結果*/public static boolean equals(double a, double b, double eps) {return a == b || Math.abs(a - b) < eps;}/*** 在缺省的誤差范圍內比較2個double類型值** @param a 參數a* @param b 參數b* @return 比較結果*/public static boolean equals(double a, double b) {return equals(a, b, EPSILON);}
}
?
轉載于:https://www.cnblogs.com/frankyou/p/6051977.html
總結
以上是生活随笔為你收集整理的Java经典实例:比较浮点数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 成员变量的初始化和内存中的运行机制
- 下一篇: java美元兑换,(Java实现) 美元