10、比较Bigdecimal类型是否相等的方法
一、Bigdecimal.equals()详解:
Bigdecimal的equals方法不仅仅比较值的大小是否相等,首先比较的是scale(scale是bigdecimal的保留小数点位数),也就是说,不但值得大小要相等,保留位数也要相等,equals才能返回true。
二、采用compareTo()方法比较Bigdecimal类型是否相等:
用b.compareTo(BigDecimal.ZERO)==0,可以比较是否等于0,返回true则等于0,返回false,则不等于0
三、代码demo:
import java.math.BigDecimal; public class BigDecimalDemo {
// 注:
// Bigdecimal的equals方法不仅仅比较值的大小是否相等,
// 首先比较的是scale(scale是bigdecimal的保留小数点位数),
// 也就是说,不但值的大小要相等,保留位数也要相等,equals才能返回true。
/**
* demo01()
* @return
* ---》bigDecimal = 0
* ---》true
* */
public static void demo01 () {
BigDecimal bigDecimal = new BigDecimal(0.0);
BigDecimal bigDecimal1 = new BigDecimal(0);
if (bigDecimal.equals(bigDecimal1)) {
System.out.println("bigDecimal = " + bigDecimal);
System.out.println("true");
} else {
System.out.println("bigDecimal = " + bigDecimal);
System.out.println("false");
}
} /**
* demo02()
* @return
* ---》bigDecimal = 0.0000
* ---》false
* */
public static void demo02 () {
BigDecimal bigDecimal = new BigDecimal(0.0).setScale(4, BigDecimal.ROUND_HALF_UP);
BigDecimal bigDecimal1 = new BigDecimal(0).setScale(3, BigDecimal.ROUND_HALF_UP);
if (bigDecimal.equals(bigDecimal1)) {
System.out.println("bigDecimal = " + bigDecimal);
System.out.println("true");
} else {
System.out.println("bigDecimal = " + bigDecimal);
System.out.println("false");
}
}
/**
* demo03()
* @return
* ---》bigDecimal = 0.0000
* ---》true
*
* compareTo()方法
* 返回值
* 1、如果指定的数与参数相等返回 0。
* 2、如果指定的数小于参数返回 -1。
* 3、如果指定的数大于参数返回 1。
* */
public static void demo03 () {
BigDecimal bigDecimal = new BigDecimal(0.0).setScale(4, BigDecimal.ROUND_HALF_UP);
BigDecimal bigDecimal1 = new BigDecimal(0).setScale(3, BigDecimal.ROUND_HALF_UP);
//比较是否等于0: b.compareTo(BigDecimal.ZERO)==0
if (bigDecimal.compareTo(bigDecimal1) == 0) {
System.out.println("bigDecimal = " + bigDecimal);
System.out.println("true");
} else {
System.out.println("bigDecimal = " + bigDecimal);
System.out.println("false");
}
} public static void main(String[] args) {
demo01();
demo02();
demo03();
}
}
搜索
复制
10、比较Bigdecimal类型是否相等的方法的更多相关文章
- bigdecimal类型数据的min方法
java.math.BigDecimal.min(BigDecimal val) 返回此BigDecimal和val的最小值. 声明 以下是java.math.BigDecimal.min()方法的声 ...
- 判断Bigdecimal类型是否等于0的方法
1.我之前用来判断Bigdecimal类型是否等于0的方法 b.equals(BigDecimal.ZERO); 用equals方法和BigDecimal.ZERO进行比较. 2.上面方法存在的问题 ...
- BigDecimal类的简单使用方法
一提到Java里面的商业计算,我们都知道不能用float和double,由于他们无法进行精确计算.可是Java的设计者给编程人员提供了一个非常实用的类BigDecimal,他能够完好float和dou ...
- java中小数的处理:高精度运算用bigDecimal类,精度保留方法,即舍入方式的指定
一. 计算机的小数计算一定范围内精确,超过范围只能取近似值: 计算机存储的浮点数受存储bit位数影响,只能保证一定范围内精准,超过bit范围的只能取近似值. java中各类型的精度范围参见:http: ...
- 关于BigDecimal类型在jsp页面中进行除法运算问题
出自:http://blog.csdn.net/u011910290/article/details/52935337 问题描述: 在项目编写过程中,发现BigDecimal在jsp中进行除法运算时, ...
- String类型的属性和方法
× 目录 [1]属性 [2]对象通用方法 [3]访问字符方法[4]字符串拼接[5]创建子串方法[6]大小写转换[7]查找子串位置[8]正则匹配方法[9]去除首尾空格[10]字符串比较 前面的话 前面已 ...
- Java中的Bigdecimal类型运算
Java中的Bigdecimal类型运算 双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理.Java在java.math包中提 供的API类BigD ...
- 总结Array类型中常用的方法
Array类型应该是 ECMAScript 中最常用的类型之一了,并且它定义的数组与其他语言有着相当大的区别.数组是数据的有序集合,我们可以通过下标对指定位置的数据进行读 写:特别的是,在 ECMAS ...
- [Selenium]等待元素出现之后再消失,界面上的loading icon都属于这种类型,之前的方法总是卡死,换这种方法目前还好用的
等待元素出现之后再消失,界面上的loading icon都属于这种类型,之前的方法总是卡死,换这种方法目前还好用的 /** * Check if the element present with cu ...
随机推荐
- Node.js(五)学生管理CRUD
npm init -y(初始化项目) npm install express(引入express) npx express-generator -e(自动生成模板.添加对 ejs 模板引擎的支持) n ...
- Android类加载流程
背景 由于前前前阵子写了个壳,得去了解类的加载流程,当时记了一些潦草的笔记.这几天把这些东西简单梳理了一下,本文分析的代码基于Android8.1.0源码. 流程分析 从loadClass开始,我们来 ...
- Java学习之路:Dos命令
2022-10-08 10:25:42 (一)打开CMD的方式 开始+系统+命令提示符 Win+R 输入cmd打开控制台 在任意的文件夹下面,按住Shift+鼠标右键,点击在此打开命令行窗口 资源 ...
- .NET周报【10月第2期 2022-10-17】
主题 宣布 .NET 7 发布候选版本 2 - .NET Blog https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-2/ .N ...
- LOJ2324「清华集训 2017」小Y和二叉树
题目链接 瞎jb贪一发就过了.首先度数<=2且编号最小的点一定是中序遍历最靠前的点,我们从这个点开始dfs一遍算出子树中度数<=2且编号最小的点记为\(f(i)\),然后从这个点开始一步一 ...
- 海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器)
海思3516系列芯片SPI速率慢问题深入分析与优化(基于PL022 SPI 控制器) 我在某个海思主控的项目中需要使用SPI接口来驱动一块液晶屏,液晶屏主控为 st7789,分辨率 240x240,图 ...
- 一、什么是celery
一.什么是Celery 1.1.celery是什么 celery是一个简单.灵活且可靠的,处理大量消息的分布式系统,专注于是心爱处理的异步任务队列,同事也支持任务调度. Celery的架构由三部分组成 ...
- Linux正则表达式与grep
bash是什么 bash是一个命令处理器,运行在文本窗口中,并能执行用户直接输入的命令 bash还能从文件中读取linxu命令,称之为脚本 bash支持通配符.管道.命令替换.条件判断等逻辑控制语句 ...
- python的list,dict,set
list # 1.list() 把可迭代对象转换成list,即for循环遍历的可迭代对象 my_str = "abcdef" new_list = list(my_str) pri ...
- Arch Linux + KDE 配置&美化(持续更新~)
Arch Linux + KDE 配置&美化(持续更新~) 这篇文章着重记录archlinux + KDE的一个基本的配置过程.不包括安装过程(使用archInstall.sh).内容大概有以 ...