BigDecimal使用
BigDecimal一共有4个构造方法:
BigDecimal(int) 创建一个具有参数所指定整数值的对象。
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。(不建议采用)
BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。(建议使用)
注:
当double必须用作BigDecimal的源时,请使用Double.toString(double)转成String,
然后使用String构造方法,或使用BigDecimal的静态方法valueOf.
BigDecimal语法:
BigDecimal bd = new BigDecimal(Number数据: value/Integer/Double/Long);
BigDecimal bd = new BigDecimal(String字符串);
//设置小数位数,第一个变量是小数位数,第二个变量是取舍方法(四舍五入)---详见BigDecimal类
bd=bd.setScale(2, BigDecimal.ROUND_HALF_UP);
//转化为字符串输出
System.out.println(bd.toString());
案例:
public class Test {
public static void main(String[] args) {
BigDecimal bd = new BigDecimal(101);
System.out.println(bd.toString());
String StrBd = "123455.67890";
BigDecimal bd2 = new BigDecimal(StrBd);
System.out.println(bd2);
BigDecimal bd3 = new BigDecimal(Double.parseDouble(StrBd));
//设置小数点
bd3=bd3.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(bd3);
String StrBd4 = "12345";
BigDecimal bd4 = new BigDecimal(Integer.parseInt(StrBd4));
//设置小数点
bd4=bd4.setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(bd4);
String StrBd5 = "12345000000";
BigDecimal bd5 = new BigDecimal(Long.parseLong(StrBd5));
System.out.println(bd5);
}
}
结果: