在JAVA中怎么比较Double类型数据的大小?

源:http://blog.csdn.net/cynhafa/article/details/6899921
评:
double a = 0.001;
double b = 0.0011;
BigDecimal data1 = new BigDecimal(a);
BigDecimal data2 = new BigDecimal(b);
data1.compareTo(data2)
非整型数,运算由于精度问题,可能会有误差,建议使用BigDecimal类型!

public int compareTo(BigDecimal val)

    将此 BigDecimal 与指定的 BigDecimal 比较。根据此方法,值相等但具有不同标度的两个 BigDecimal 对象(如,2.0 和 2.00)被认为是相等的。相对六个 boolean 比较运算符 (<, ==, >, >=, !=, <=) 中每一个运算符的各个方法,优先提供此方法。建议使用以下语句执行上述比较:(x.compareTo(y) <op> 0),其中 <op> 是六个比较运算符之一。

    指定者:
        接口 Comparable<BigDecimal> 中的 compareTo

    参数:
        val - 将此 BigDecimal 与之比较的 BigDecimal。
    返回:
        当此 BigDecimal 在数字上小于、等于或大于 val 时,返回 -1、0 或 1。

猜你喜欢

转载自mauersu.iteye.com/blog/2091035
今日推荐