Java 浮点运算
2018-10-24 本文已影响9人
几千里也
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
// 二进制只能表示 2 的某次方,浮点运算不精准。
System.out.println("0.1 * 0.1: " + (0.1f * 0.1f));
// 为了精准可以使用 BigDecimal
BigDecimal b1 = new BigDecimal(0.1);
BigDecimal b2 = new BigDecimal(0.1);
System.out.println("0.1 * 0.1: " + b1.multiply(b2).floatValue());
}
}
输出:
0.1 * 0.1: 0.010000001
0.1 * 0.1: 0.01