Java中如何高效的保留小数点后若干位
Java中最高效的处理浮点型的小数点位的方法莫过于使用java.math.BigDecimal,如下所示:
import java.math.BigDecimal;
public class DecimalTest { public static void main(String[] args) { double a = 38.8; double wrongResult = a * 100; // 错误的结果 System.out.println("wrongResult=" + wrongResult); BigDecimal decimal = new BigDecimal(wrongResult); BigDecimal rightResult = decimal.divide(BigDecimal.ONE, 1, BigDecimal.ROUND_UP); System.out.println("rightResult=" + rightResult); } }
输出:
wrongResult=3879.9999999999995
rightResult=3880.0