String转BigDecimal

String a = "50.00";  //字符串类型,必须是数字,否则会报错, java.lang.NumberFormatException 异常
BigDecimal b =new BigDecimal(a);

BigDecimal加法运算

BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());
BigDecimal yq=new BigDecimal(bookInfo.getYq());
BigDecimal publishPrice =  new BigDecimal(cabinInfo.getPublishPrice());
totalPrice =publishPrice.add(planeTax).add(yq);

BigDecimal减法运算

BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());
BigDecimal yq=new BigDecimal(bookInfo.getYq());
BigDecimal publishPrice =  new BigDecimal(cabinInfo.getPublishPrice());
totalPrice =publishPrice.subtract(planeTax).subtract(yq);

BigDecimal乘法运算

BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());
BigDecimal yq=new BigDecimal(bookInfo.getYq());
BigDecimal publishPrice =  new BigDecimal(cabinInfo.getPublishPrice());
totalPrice =publishPrice.multiply(planeTax).multiply(yq);

BigDecimal避免踩坑

BigDecimal planeTax=new BigDecimal(bookInfo.getPlaneTax());//string数据转换BigDecimal
  BigDecimal yq=new BigDecimal(bookInfo.getYq());//string数据转换BigDecimal
  BigDecimal publishPrice =  new BigDecimal(cabinInfo.getPublishPrice());//string数据转换BigDecimal
//进行相加再相乘操作时注意不要直接用符号+、-、*等,后面是四舍五入的格式
  totalPrice =(publishPrice.add(planeTax).add(yq)).multiply( new BigDecimal(model.getBookInfoList().size()))
  .setScale(2,     BigDecimal.ROUND_HALF_UP); 
  totalPrice = price.subtract(couponMoney);
String转BigDecimalString a = "50.00";  //字符串类型,必须是数字,否则会报错, java.lang.NumberFormatException 异常BigDecimal b =new BigDecimal(a);BigDecimal加法运算BigDecimal planeTax=new BigDecimal(bookInfo.getPlane...
public static void main( String [] args) { String str1="2.30"; BigDecimal bd=new BigDecimal (str1); System.out.println(bd);
BigDecimal 通常称为大小数类,主要运用在一些对数字精度要求很高的项目上,例如银行项目。Java在java.math包中提供的API类 BigDecimal ,用来对超过16位有效位的数进行精确的运算。下面简单说一下它与 String 类型的 换。 1. BigDecimal 换为 String BigDecimal num = new BigDecimal ("xxx"); String str ...
一、构造 BigDecimal BigDecimal 提供了丰富的构造函数,可以通过int、long、double、 String 等来构造一个 BigDecimal 对象。 但是,使用double作为参数的构造函数,无法精确构造一个 BigDecimal 对象,需要自己指定一个上下文的环境,也就是指定精确位。 BigDecimal bg = new BigDecimal (1.1); System.out.println(bg.to String ()); 运行结果: 1.100000000000000088817841.
String a = "50.00"; //字符串类型,必须是数字,否则会报错, java.lang.NumberFormatException 异常 BigDecimal b =new BigDecimal (a); String Out String =b.to String (); BigDecimal 类型的介绍 借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮.