BigDecimal类型比较大小

这个类是java里精确计算的类

1 比较对象是否相等
    
一般的对象用equals,但是BigDecimal比较特殊,举个例子:
    
BigDecimal a=BigDecimal.valueOf(1.0);
    
BigDecimal b=BigDecimal.valueOf(1.000);
    
在现实中这两个数字是相等的,但是问题来来了
    
a.equals(b)结果是false;怎么不相等了呢?这个问题我也不知道
    
解决办法:
           
if(a.compareTo(b)==0)结果是true
    
public int compareTo(BigDecimal val)
结果是-1 小于
       0
等于
       1
大于

if(a.compareTo(b) == -1){

a

}

if(a.compareTo(b)==0){

a=b;

}

if(a.compareTo(b)==1){

a>b;

}

public static MathContext mc = new MathContext();

public static BigDecimal add(BigDecimal a1,BigDecimal a2){

a1=null2Zero(a1);

a2=null2Zero(a2);

return a1.add(a2,mc);

}

public static BigDecimal null2Zero(BigDecimal arg){

return
arg==null ? BigDecimal.ZERO : arg ;

}

时间: 2024-10-07 07:30:27

BigDecimal类型比较大小的相关文章

我给女朋友讲编程CSS系列(3) CSS如何设置字体的类型、大小、颜色,如何使用火狐浏览器的Firebug插件查看网页的字体

一.CSS如何设置字体的类型.大小.颜色 设计网页时,一般设置body的字体,让其他标签继承body的字体,这样设置特别方便,但是标题标签h1到h6和表单标签(input类型)是没有继承body的字体属性的,它们的字体需要单独设置. 1,  新建一个网页a.html,把下面的代码复制进去. <html> <head> <style type="text/css"> body { font-family : 微软雅黑,宋体; font-size : 1

input file 上传文件类型、大小检查

作为上传文件的基本元素, input file 被广为应用.而对文件类型.大小的限制是常见的要求.可以通过如下办法,在前端进行原生的文件检查: html 代码: 注意 accept 属性的用法 <input type="file" name="icon" onchange="checkFile(this)" accept="image/jpeg,image/x-png,image/gif" /> JS代码: var

bigdecimal类型除法问题

坑:bigdecimal类型做除法运算时,结果为整数或有限小数时候不存在问题,若结果无法整除,为无限小数时报错 错误代码:Bigdecimal  b = a.divide(c).setScale(5,ROUND_HALF_DOWN); 错误提示:Non-terminating decimal expansion; no exact representable decimal result" 错误翻译:十进制小数点膨胀:没有确切的表示十进制的结果 错误原因:暂时不详 代码改进:BigDecimal

Java中的Bigdecimal类型运算

双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行运算和处理.Java在java.math包中提 供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.表5.7中列出了BigDecimal类的主要构造器和方法. 构造器  描 述 BigDecimal(int)创建一个具有参数所指定整数值的对象. BigDecimal(double)创建一个具有参数所指定双精度值的对象. BigDecimal(long)创建一个具有参数所指定长整数值的

sizeof()保留字获取类型的大小

学习了sizeof保留字来获取不同变量所占的字节数.不过该字节数是跟机器相关的. #include <stdio.h> /** * 输出常用变量的大小 * @brief main * @return */ int main(void) { printf("%s\n","Now We will print the size of the variable."); /**输出short类型的大小**/ printf("short: %d bytes

JavaScript客户端判断文件类型及大小

<html><head><title>潜水式无堵塞排污泵</title> <meta http-equiv="content-type" content="text/html;charset=gb2312"></head><body>以下是一个客户端控制file上传图片类型和大小的示例(注意:由于是客户端限制,所以用户可以绕过这个限制):<script language=&qu

BigDecimal类型去除多余的小数点和小数点后的0

数据库中存放BigDecimal类型的数据,如果存放4或者4.1的话,在数据库中会存放4.0000和4.1000,此时在前台显示会不合适,故需要去除.和0,方法如下: 参数是BigDecimal的toString(). public BigDecimal getPrettyNumber(String dec){        BigDecimal decimal = new BigDecimal(BigDecimal.valueOf(Double.parseDouble(dec)).stripT

类类型的大小

1:先看一个空类的大小: #include <iostream> using namespace std; class A { }; int main(int argc, char** argv) { cout<<sizeof(A)<<endl; return 0; } sizeof(A)的结果为1: #include <iostream> using namespace std; class A { public: A(); ~A(); }; int ma

MVC文件上传 - 使用jquery异步上传并客户端验证类型和大小

本篇体验MVC上传文件,从表单上传过渡到jquery异步上传. MVC最基本的上传文件是通过form表单提交方式 □ 前台视图部分 <% using(Html.BeginForm("FileUpload", "FileUpload", FormMethod.Post, new {enctype = "multipart/form-data"}) {)%> <input name ="uploadFile" t