• 技术文章 >java >java基础

    java中BigDecimal的数学运算

    小妮浅浅小妮浅浅2021-08-05 10:39:39原创4206

    1、BigDecimal在做加、减、乘时,精度不会丢失,但是做除法时,存在无法除尽的情况,这时就必须指定精度以及如何进行截断。

       import java.math.BigDecimal;
       import java.math.RoundingMode;
       
       public class Demo {
        public static void main(String[] args) {
         BigDecimal d1 = new BigDecimal("123.456");
         BigDecimal d2 = new BigDecimal("23.456789");
         BigDecimal d3 = d1.divide(d2, 10, RoundingMode.HALF_UP); // 保留10位小数并四舍五入
         BigDecimal d4 = d1.divide(d2); // 报错:ArithmeticException,因为除不尽
        }
       }

    2、可以对BigDecimal做除法的同时求其余数。

       import java.math.BigDecimal;
       public class Demo {
        public static void main(String[] args) {
         BigDecimal n = new BigDecimal("22.444");
               BigDecimal m = new BigDecimal("0.23");
               BigDecimal[] dr = n.divideAndRemainder(m);
               System.out.println(dr[0]); // 97.0
               System.out.println(dr[1]); // 0.134
        }
       }

    以上就是java中BigDecimal的数学运算使用,希望对大家有所帮助。更多Java学习指路:Java基础

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    专题推荐:java bigdecimal
    上一篇:java中BigDecimal有哪些用法 下一篇:BigDecimal值在java比较的两种方法

    相关文章推荐

    • java中有哪些特殊monitor• java中ThreadGroup如何创建• java中enumerate()的复制• java中jni是什么• java多线程的作用• java线程锁死是什么• java中RMI的原理分析• java RabbitMQ消息队列是什么• java调用shell脚本的方法• java继承中有哪些注意点• java内存间交互规则• java中final域的内存语义理解• java枚举如何实现单例• java懒惰评估如何实现• java中Lamdba表达式的用法整理• java如何自定义函数式接口• java方法引用是什么• java数组引用如何实现• java中Stream的使用流程及注意• java中Stream的四种创建

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网