• 技术文章 >java >java基础

    BigDecimal值在java比较的两种方法

    小妮浅浅小妮浅浅2021-08-05 10:40:58原创5739

    1、使用equals()方法不但要求两个BigDecimal的值相等,还要求它们的scale()相等。

       BigDecimal d1 = new BigDecimal("123.45");
       BigDecimal d2 = new BigDecimal("123.45000");
       System.out.println(d1.equals(d2)); // false,因为scale不同
       System.out.println(d1.equals(d2.stripTrailingZeros())); // true,因为d2去除尾部0后scale变为2,与d1相同

    2、使用compareTo()方法来比较两数大小,它根据两个值的大小分别返回-1、1和0,分别表示小于、大于和等于。

        import java.math.BigDecimal;
        public class Demo {
         public static void main(String[] args) {
          BigDecimal d1 = new BigDecimal("123.45");
          BigDecimal d2 = new BigDecimal("123.45000");
          BigDecimal d3 = new BigDecimal("123.40");
          System.out.println(d1.compareTo(d2)); // 0
          System.out.println(d1.compareTo(d3));//  1
          System.out.println(d3.compareTo(d2));// -1
         }
        }

    以上就是BigDecimal值在java比较的两种方法,希望对大家有所帮助。更多Java学习指路:Java基础

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

    专题推荐:java bigdecimal
    上一篇:java中BigDecimal的数学运算 下一篇:java SimpleDateFormat如何转换局部变量

    相关文章推荐

    • java守护线程的执行优先级• java泛型类的使用语法• java泛型接口的使用注意• java方法参数中通配符的使用• java网络编程的三要素• java UDP通信的原理• java中UDP如何发送数据• java中UDP接收数据的步骤• java中TCP通信是什么• java中jni是什么• java多线程的作用• java线程锁死是什么• java中RMI的原理分析• java RabbitMQ消息队列是什么• java调用shell脚本的方法• java继承中有哪些注意点• java中Lamdba表达式的用法整理• java方法引用是什么• java数组引用如何实现• java中Stream的使用流程及注意• java中Stream的四种创建• java中反射提供哪些功能• java获取class实例的方式• java反射调用指定的属性

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网