java中比较两个double类型值的大小

时间:2022-03-02 18:28:18

非整型数,运算由于精度问题,可能会有误差,建议使用BigDecimal类型,具体 BigDecimal的详细说明参考jdk开发帮助文档。

import java.math.BigDecimal;
public class DoubleCompare {
public String compare(BigDecimal val1, BigDecimal val2) {
String result = "";
if (val1.compareTo(val2) < 0) {
result = "第二位数大!";
}
if (val1.compareTo(val2) == 0) {
result = "两位数一样大!";
}
if (val1.compareTo(val2) > 0) {
result = "第一位数大!";
}
return result;
}
public static void main(String[] args) {
double a = 0.01;
double b = 0.001;
BigDecimal data1 = new BigDecimal(a);
BigDecimal data2 = new BigDecimal(b);
System.out.print(new DoubleCompare().compare(data1, data2));
}
}