zoukankan      html  css  js  c++  java
  • BigDecimal

    例子:加减乘除(+-*/)

    System.out.println(0.05 + 0.01);
    System.out.println(1.0 - 0.42);
    System.out.println(4.015 * 100);
    System.out.println(123.3 / 100);
    

     运算结果:

    0.060000000000000005
    0.5800000000000001
    401.49999999999994
    1.2329999999999999

    关于BigDecimal丢失精度的问题,声明BigDecimal对象的时候一定要使用它构造参数为String的类型的构造器

    BigDecimal a1 = new BigDecimal(Double.toString(0.05));
    BigDecimal a2 = new BigDecimal(Double.toString(0.01));
    System.out.println(a1.add(a2));
    BigDecimal b1 = new BigDecimal(Double.toString(1.0));
    BigDecimal b2 = new BigDecimal(Double.toString(0.42));
    System.out.println(b1.subtract(b2));
    BigDecimal c1 = new BigDecimal(Double.toString(4.015));
    BigDecimal c2 = new BigDecimal(Double.toString(100));
    System.out.println(c1.multiply(c2));
    BigDecimal d1 = new BigDecimal(Double.toString(123.3));
    BigDecimal d2 = new BigDecimal(Double.toString(100));
    System.out.println(d1.divide(d2, 2, BigDecimal.ROUND_HALF_UP));//应对除不尽的情况, 2 = 保留小数点后两位   ROUND_HALF_UP = 四舍五入

    运算结果:

    0.06
    0.58
    401.5000
    1.23
    

      

  • 相关阅读:
    8-kubernetes-安全
    6-kubernetes网络
    5-kunernetes资源调度
    4-K8S 部署Java应用及应用程序生命周期管理
    3-kubernetes监控与日志管理
    2-K8S常用命令
    1-kubeadm部署1.18.0单master集群
    部署Prometheus+Grafana监控
    微信小程序学习
    vue 中使用 @scroll事件 没有用
  • 原文地址:https://www.cnblogs.com/zxg-6/p/12969415.html
Copyright © 2011-2022 走看看