java bigdemical比较大小

Wesley13
• 阅读 651
                版权声明:本文为博主原创文章,未经博主允许不得转载。                    https://blog.csdn.net/qq_33451004/article/details/71247041                </div>
                                        <div id="content_views" class="markdown_views">
                        <!-- flowchart 箭头图标 勿删 -->
                        <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg>
                        <p>java中对bigdimical比较大小一般用的是bigdemical的compareTo方法;</p>
int a = bigdemical.compareTo(bigdemical2) a = -1,表示bigdemical小于bigdemical2; a = 0,表示bigdemical等于bigdemical2; a = 1,表示bigdemical大于bigdemical2; 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2 bigdemical详解

 BigDecimal bigDecimal = new BigDecimal("4.44"); BigDecimal decimal = new BigDecimal(4.44); BigDecimal valueOf = BigDecimal.valueOf(4.44); BigDecimal bigDecimal2 = new BigDecimal(999999999999L); BigDecimal valueOf2 = BigDecimal.valueOf(999999999999L); System.err.println("bigDecimal="+bigDecimal); System.err.println("decimal="+decimal); System.err.println("valueOf="+valueOf);  System.err.println("bigDecimal2="+bigDecimal2); System.err.println("valueOf2="+valueOf2); bigDecimal=4.44 decimal=4.44000000000000039079850466805510222911834716796875 valueOf=4.44 bigDecimal2=999999999999 valueOf2=999999999999 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

可以看出,double类型的数,在new bigdemical()和Bigdemical.valueof()求出的结果是不一样的,因为new bigdemical()内部是利用的double的构造方法,而这个构造方法jdk的描述是,其结果具有一定的不可预料性,很难对小数做出精确的描述;所以,在我们利用bigdemical的时候应尽量将参数变为字符串再进行计算;否则,针对double类型的小数就要用Bigdemical.valueOf(double d)了;

3 bigdemical的大于等于;

其实很简单:new bigdemica(a).compareTo(new bigdemical(b)) >= 0 表示a大于等于b;小于等于同理;
  • 1
                    <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-df60374684.css" rel="stylesheet">
            </div>
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Wesley13 Wesley13
3年前
java图形验证码生成工具类及web页面校验验证码
<divid"article\_content"class"article\_contentcsdntrackingstatisticstrackingclick"datamod"popu\_519"datadsm"post"style"overflow:hidden;"<divclass"htmledit\_vi
Stella981 Stella981
3年前
Mycat入门教程
<divid"article\_content"class"article\_contentcsdntrackingstatisticstrackingclick"datamod"popu\_519"datadsm"post"style"overflow:hidden;"<divclass"markdown\_vi
Stella981 Stella981
3年前
Spring Boot MyBatis 连接数据库
<divid"article\_content"class"article\_contenttrackingad"datamod"popu\_307"datadsm"post"style"overflow:hidden;"<divclass"markdown\_views"<p最近比较忙,没来得及抽时间把MyBati
Wesley13 Wesley13
3年前
C++标准库和标准模板库
<divid"article\_content"class"article\_contentclearfixcsdntrackingstatistics"datapid"blog"datamod"popu\_307"datadsm"post"<linkrel"stylesheet"href"https://csd
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例
<divid"article\_content"class"article\_contenttrackingad"datamod"popu\_307"datadsm"post"style"overflow:hidden;"<divclass"markdown\_views"<h2id"springboot使用ym
Wesley13 Wesley13
3年前
JAVA中this用法小结
<divid"article\_content"class"article\_contentcsdntrackingstatisticstrackingclick"datamod"popu\_519"datadsm"post"style"overflow:hidden;"<divclass"htmledit\_vi
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这