最近做数据库查询的时候遇到一个问题,数据库中为number类型的字段,在java类型中对应的有Integer和BigDecimal都会出现; 经测试发现当数据库为sql server和DB2时,用getObject()取出来时Integer类型,但是oracle 中取出来就会是Integer或者Bi ...
分类:
数据库 时间:
2016-04-20 00:38:56
阅读次数:
509
当我们要处理非常大的数据时,平常用的数据类型已不足以表示,在Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,这两个类在理论上只要计算机内存足够大就能够表示无线大的数。它们都在java.math.*包中,我们可以在API文档中进行查看: Java API 1. ...
分类:
编程语言 时间:
2016-04-20 00:14:32
阅读次数:
245
1.引言 借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。但是,商业计算 ...
分类:
编程语言 时间:
2016-04-18 20:41:51
阅读次数:
238
java保留小数问题的方法: 方法一:四舍五入 使用java.Math.BigDecimal类 double d = 12.345; BigDecimal bd = new BigDecimal(2,BigDecimal.ROUND_HALF_UP).doubleValue(); 方法二:使用jav ...
分类:
编程语言 时间:
2016-04-06 23:24:51
阅读次数:
260
1、java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result 原因:BigDecimal进行除法运算时 (devide),碰到无限循环小数,未进行进度 ...
分类:
其他好文 时间:
2016-04-01 17:55:55
阅读次数:
142
在有些项目中需要操作很大的数字的计算,在java中提供了两个常用的类来对大数字进行操作 ...
分类:
其他好文 时间:
2016-04-01 12:58:41
阅读次数:
228
一BigInteger类当我们碰到需要处理一个很大的数字时,这时候肯定没法使用int和long。当然我们可以使用String来接收大数字,然后再采用拆分的方式来计算,不过这种方式很麻烦。因此在Java中为了解决这种问题,提供了BigInteger类。BigInteger类表示是大整数类,定义在java.math...
分类:
编程语言 时间:
2016-03-31 07:15:50
阅读次数:
562
在求阶乘问题上,我们可以使用循环或者递归的思想,如果数值范围超过基本数据类型,可以使用java中的BigDecimal和BigInteger类;但是如果不使用java中这两个类怎么来计算呢? 拿两个数相乘来说,思路在于观察我们如何手工计算相乘,用程序来模拟手工计算相乘即可 参考资料:http://b ...
分类:
其他好文 时间:
2016-03-31 00:09:11
阅读次数:
235
java能处理大数的类有两个高精度大整数BigInteger 和高精度浮点数BigDecimal,这两个类位于java.math包内,要使用它们必须在类前面引用该包:import java.math.BigInteger;和import java.math.BigDecimal;或者import j ...
分类:
编程语言 时间:
2016-03-29 12:17:22
阅读次数:
181
一、BigDecimal BigDecimal 由任意精度的整数非标度值 和 32 位的整数标度 (scale) 组成。 如果为零或正数,则标度是小数点后的位数。 如果为负数,则将该数的非标度值乘以 10 的负 scale 次幂。 setScale(int n, roundingMode)方法 直接 ...
分类:
数据库 时间:
2016-03-24 16:04:27
阅读次数:
295