首页 > 编程语言 >在JAVA中怎么比较Double类型数据的大小?

在JAVA中怎么比较Double类型数据的大小?

时间:2023-04-20 14:04:11浏览次数:37  
标签:JAVA BigDecimal val Double 运算符 compareTo 类型 new data1


评:
double a = 0.001;
double b = 0.0011;
BigDecimal data1 = new BigDecimal(a);
BigDecimal data2 = new BigDecimal(b);
data1.compareTo(data2)
非整型数,运算由于精度问题,可能会有误差,建议使用BigDecimal类型!

public int compareTo(BigDecimal val)

将此 BigDecimal 与指定的 BigDecimal 比较。根据此方法,值相等但具有不同标度的两个 BigDecimal 对象(如,2.0 和 2.00)被认为是相等的。相对六个 boolean 比较运算符 (<, ==, >, >=, !=, <=) 中每一个运算符的各个方法,优先提供此方法。建议使用以下语句执行上述比较:(x.compareTo(y) <op> 0),其中 <op> 是六个比较运算符之一。

指定者:
接口 Comparable<BigDecimal> 中的 compareTo

参数:
val - 将此 BigDecimal 与之比较的 BigDecimal。
返回:
当此 BigDecimal 在数字上小于、等于或大于 val 时,返回 -1、0 或 1。

标签:JAVA,BigDecimal,val,Double,运算符,compareTo,类型,new,data1
From: https://blog.51cto.com/u_16080829/6209515

相关文章

  • java守护进程
    评:1.所谓守护线程就是运行在程序后台的线程,程序的主线程Main(比方java程序一开始启动时创建的那个线程)不会是守护线程.2.Daemonthread在Java里面的定义是,如果虚拟机中只有Daemonthread在运行,则虚拟机退出。虚拟机中可能会同时有很多个线程在运行,只有当所有的非守护线程都......
  • java线程同步和异步的区别
    在Java中,同步和异步是指多线程并发执行中的两种不同的机制。同步指的是线程之间的协作方式,即当一个线程在执行一个任务时,其他线程必须等待该线程执行完该任务后才能执行同一段代码。同步机制通常使用synchronized关键字或Lock对象进行实现,以保证多线程共享的资源同步访问。 ......
  • Java多线程基础
    1、创建线程类的方法1.1、继承Thread类当一个类继承了Thread类,该类就可以当做线程使用我们会重写run方法,写上自己的业务代码run方法是Thread类实现了Runnable接口的run方法1.1.1、入门案例/***@authorCarl*@version1.0*/publicclassThread01{public......
  • java线程同步和异步的区别
    在Java中,同步和异步是指多线程并发执行中的两种不同的机制。同步指的是线程之间的协作方式,即当一个线程在执行一个任务时,其他线程必须等待该线程执行完该任务后才能执行同一段代码。同步机制通常使用synchronized关键字或Lock对象进行实现,以保证多线程共享的资源同步访问。异步指的......
  • python dataclasses定义默认值为可变类型(转)
    原文:https://zhuanlan.zhihu.com/p/59658886作者:没有50CM手臂网站:知乎 场景还原最近开发遇到一个问题是在python3.7的dataclass中不能使用可变的默认值,错误如下:@dataclassclassFoo:bar:list=[]#ValueError:mutabledefault<class'list'>forfieldaisn......
  • java - 缩放新的图片
    /***缩放新的图片*/publicstaticStringscaleImg(StringwaterLogoPath,StringwaterLogoPathTmp,Stringsuffix,ImgWHwh){try{suffix=suffix.replace(".","");Filesrcfile=newFile(water......
  • java Map 怎么遍历
    评://最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!!publicstaticvoidwork(Map<String,Student>map){Collection<Student>c=map.values();Iteratorit=c.iterator();for(;it.hasNext();){System.out.pri......
  • JAVA: 如何显示比当前DATE时间,提前一个月的时间 还有提前20天
    评:Datedate=newDate();//当前日期SimpleDate()Formatsdf=newSimpleDateFormat("yyyy/MM/dd");//格式化对象Calendarcalendar=Calendar.getInstance();//日历对象calendar.setTime(date);//设置当前日期calendar.add(Calendar.MONTH,-1);//月份减一Sy......
  • 解决Eclipse建立Maven项目后无法建立src/main/java资源文件夹的办法
    评:建立好一个Maven项目后,如果JavaResources资源文件下没有src/main/java文件夹,并且在手动创建这个文件时提示“已存在文件”。这说明,在这个项目配置中已经有了src/main/java这个文件夹,至于为什么不显示,我暂时也还不清楚,希望谁明白了跟我下,谢了。(已解决)[b]第二种方法:这是最......
  • java.lang.IllegalArgumentException: Illegal group reference
    评:在使用String的replaceFirst(regex,replacement)的时候出现java.lang.IllegalArgumentException:Illegalgroup原因是第一个参数支持正则表达式,replacement中出现“$”,会按照$1$2的分组模式进行匹配,当编译器发现“$”后跟的不是整数的时候,就会抛出“非法的组引用”的异常......