import java.math.BigDecimal;
/**
* @desc:
* @Author: Yongkang Hou
* @Date: 2018/8/2
*/
public class BigDecimalOf {
public static void main(String[] args) {
Double d1=5.21;
Double d2=13.14;
String d3="5.20";
//转换为BigDecimal类型,非String类型需要先转换为String类型,否则转换后会出现浮点情况
//错误转换
BigDecimal error=new BigDecimal(d1);
System.out.println(error);
//正确转换
BigDecimal n1=new BigDecimal(d1.toString());
BigDecimal n2=new BigDecimal(d2.toString());
BigDecimal n3=new BigDecimal(d3);
System.out.println(n1);
System.out.println(n2);
System.out.println(n3);
加法运算 n1加n2
BigDecimal add=n1.add(n2);
//n2减n1
BigDecimal subtract=n2.subtract(n1);
//n1乘n2乘n3 并且保留两位小数
BigDecimal multiply=n1.multiply(n2).multiply(n3).setScale(2,BigDecimal.ROUND_HALF_UP);
//n2除以n1 并且保留两位小数,除法最好设置小数保留位数,否则遇见除不尽的会报错
BigDecimal divide=n2.divide(n1,2,BigDecimal.ROUND_HALF_UP);
System.out.println(add);
System.out.println(subtract);
//转换为double类型
System.out.println(divide.doubleValue());
//转换为String类型
System.out.println(multiply.toString());
}
}