在使用float和double的时候会发生精度丢失,而BigDecimal类就是为了处理精度的问题。
BigDecima类的构造方法有BigDecimal(double avl)这个构造方法不推荐,同样会造成精度丢失,可以使用
BigDecimal(String val)。
下面测试一下BigDecimal的用法
- import java.math.BigDecimal;
- public class Test {
- public static void main(String[] args) throws Exception
- {
- BigDecimal b1=new BigDecimal("0.43848484");
- BigDecimal b2=new BigDecimal("0.05");
- BigDecimal b3=null;
- b3=b1.add(b2);
- System.out.println(b3);
- b3=b1.subtract(b2);
- System.out.println(b3);
- b3=b1.multiply(b2);
- System.out.println(b3);
- b3=b1.divide(b2);
- System.out.println(b3);
- b3=b1.pow(2);
- System.out.println(b3);
- }
- }
输出结果
- 0.48848484
- 0.38848484
- 0.0219242420
- 8.7696968
- 0.1922689549098256
版权声明:本文为博主http://www.zuiniusn.com原创文章,未经博主允许不得转载。
时间: 2024-11-04 08:23:15