Java-Big Decimal類は数字の損失問題を解決します。
1457 ワード
import java.math.BigDecimal;
/*
* : float
*
* ,float double , . , , ,Java BigDecima
*
* BigDecimal : , ,
*
*/
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal bd1 = new BigDecimal("0.09");
BigDecimal bd2 = new BigDecimal("0.01");
System.out.println("add:\t"+bd1.add(bd2));
System.out.println("-------------------");
BigDecimal bd3 = new BigDecimal("1.0");
BigDecimal bd4 = new BigDecimal("0.32");
System.out.println("subtract:\t"+bd3.subtract(bd4));
System.out.println("-------------------");
BigDecimal bd5 = new BigDecimal("1.015");
BigDecimal db6 = new BigDecimal("100");
System.out.println("multiply:\t"+bd5.multiply(db6));
System.out.println("-------------------");
BigDecimal bd7 = new BigDecimal("1.301");
BigDecimal bd8 = new BigDecimal("100");
System.out.println("divide:\t"+bd7.divide(bd8));
System.out.println("-------------------");
// 1:
// 2: ( )
// 3:
System.out.println("divide:\t"+bd7.divide(bd8, 3, BigDecimal.ROUND_HALF_UP));
}
}