BigDecimal空指针异常——个人应用】的更多相关文章

背景: 将数据库统计的数据,封装成了两个BigDecimal,此时要将两个BigDecimal进行运算.其中有一个没有数据的话,会报null(不管null值在前在后) 先上解决: 我把数据库的数据进行了个判空,嘻嘻嘻,COALESCE(值,0),如果是没有数据的就返回0 尝试(天真的我以为他会自己把null 给我转成0(如果这样的话为什么还报空指针!),所以就在找判0的方法): 使用 b.compareTo(BigDecimal.ZERO)==0 来判空(b为接收到的返回值) X报错 那反过来B…
1.相加 两个BigDecimal变量a,b. 如果想进行相加,即a加b的话,返回值需要使用a进行接收,如下: a = a.add(b); BigDecimal为不可变类, 所以执行运算的结果需要再返回给aa = a.add(b); 2.BigDecimal数据为null 两个BigDecimal 数据类型相加的话,如果被相加的数为null,会报空指针异常, 所以要做空指针判断,如下. if (bailPaySum.compareTo(faMoSum) == 1) { return 1;//可以…
import java.math.BigDecimal; import static java.lang.System.out; public class BaseClass { public static void main(String[] args) { BigDecimal num1 = new BigDecimal("100"); BigDecimal num2 = new BigDecimal("50"); //加法 BigDecimal result1…
1.基本类型包装类 1.1 8种基本类型对应的包装类 字节型 byte Byte 短整型 short Short 整型 int Integer 长整型 long Long 字符型 char Character 布尔型 boolean Boolean 浮点型 float Float 浮点型 double Double 1.2 将字符串转成基本类型: 1.3 将基本数值转成字符串的3种方式 (1)基本类型直接与“ ”相连接 (2)调用String的valueOf方法 (3)调用包装类中的toStri…
System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象.System类中的都是static方法,类名访问即可.在JDK中,有许多这样的类.常用方法 currentTimeMillis() 获取当前系统时间与1970年01月01日00:00点之间的毫秒差值 exit(int status) 用来结束正在运行的Java程序.参数传…
参加工作之后发现公司项目的数据库有关数值的字段类型,很少是之前常用的float和double, 而是一个没有接触过的decimal,在Java中表示的类型为BigDecimal, 而在业务中常常有关BigDecimal的加减乘除运算,所以查了一下资料,做了如下总结. 1.前言 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算. 双精度浮点型变量double可以处理16位有效数. float和double主要用来处理科学计算和工程计算,…
源地址:   http://blog.csdn.net/niannian_315/article/details/24354251 今天在用BigDecimal“出现费解”现象,以前虽然知道要避免用,但没研究过.借此机会,查证一下分享给大家参详参详. 在Java中经常可以用到double转BigDecimal,也经常进行除法运算,但是以下用法需要特别小心了. package com.ccxe.number; import java.math.BigDecimal; import java.mat…
1,保留两位小数 方法一:{ double c=3.154215; java.text.DecimalFormat myformat=new java.text.DecimalFormat("0.00"); String str = myformat.format(c); } 方式二:{ java.text.DecimalFormat df =new java.text.DecimalFormat("#.00"); df.format(你要格式化的数字); 例:ne…
FragmentPagerAdapter加载fragment并使用setUserVisibleHint()处理预加载时,给textview赋值时出现的空指针异常 public class BaseFragment extends Fragment { /*布局*/ private View view; /**/ boolean isVisible = false; @Nullable @Override public View onCreateView(LayoutInflater inflat…
1  创建一个BigDecimal 对象 BigDecimal Sum = new BigDecimal(0); 2  一个BigDecimal 对象,保留2位小数点 Sum.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); // Sum是一个BigDecimal 对象 3  加法操作: BigDecimal b1 = new BigDecimal(d1); BigDecimal b2 = new BigDecimal(d2); b1.add…