Decimal

一、引言

  float和double类型执行二进制浮点运算,提供较为精确的快速近似计算值。然而,不是完全精确的结果,decimal是完全精确值,用于要求精确结果的场合。

二、mysql中的decimal, 在java中的用BigDecimal表示的

  @Column(length=10 ,scale=2) // length表示长度 , scale表示小数点后位数

  private BigDecimal money;

BigDecimal的方法:

1 public BigDecimal(double val)  //将double转为BigDecial
2 public BigDecimal(int val)  //将int转为BigDecial
3 public BigDecimal(String val)  //将String转为BigDecial
4 public BigDecimal add (BigDecimal augend)  //普通加法
5 public BigDecimal subtract (BigDecimal subtrahend)  //普通减法
6 public BigDecimal multiply (BigDecimal multiplicand)  //普通乘法
7 public BigDecimal divide (BigDecimal divisor)  //普通除法

三、BigDecimal类型与String、Double类型的相互转换

  1、String类型与BigDecimal类型互转

     String转bigdecimal: 

String str = "2.13";
BigDecimal bd = new BigDecimal(str);

  bigdecimal转String:

 BigDecimal bd = new BigDecimal("xxx");
 String str = bd.toString();

 2、double类型与bigdecimal互转

   double转bigdecimal:

public BigDecimal(double val)  //将double转为BigDecial

  bigdecimal转double:

BigDecimal a = new BigDecimal(1000);
double d = a.doubleValue();

  

 

posted @ 2021-06-26 23:03  zhangtianhong511  阅读(839)  评论(0)    收藏  举报