JAVA常用类之——BigInteger和BigDecimal
2015-07-20 13:07
513 查看
JAVA常用类之——BigInteger和BigDecimal
1. 先来看BigInteger,它用来进行超过Integer范围的数据的操作,进行如下测试:
对BigInteger进行加减乘除操作如下所示:
2. 再来看看BigDecimal
BigDecimal是解决float和double的精度丢失而出现的。
1. 先来看BigInteger,它用来进行超过Integer范围的数据的操作,进行如下测试:
public static void main(String[] args) { //1. 获得Integer的最大值 // 可以看到Integer的范围是-2^32 - 2^32-1 System.out.println(Integer.MAX_VALUE); Integer i = new Integer(2147483647); //Integer不能解决超过最大值的运算操作,编译都不会通过 //Integer ii = new Integer(2147483648); //2. 下面这种方法说明Integer的最大值是2147483647 // 再加+1后该数溢出变为-2147483648 Integer ii = new Integer(2147483647+1); System.out.println(ii); //3. 采用BigInteger可以获得超过Integer范围的数的操作 BigInteger iii = new BigInteger("21474836488888"); System.out.println(iii); }
对BigInteger进行加减乘除操作如下所示:
public static void main(String[] args) { //1. 创建两个大数对像 BigInteger bi1 = new BigInteger("2147483648"); BigInteger bi2 = new BigInteger("214748364888888888888888"); //2. 测试加法 System.out.println(bi1.add(bi2)); //3. 测试减法 System.out.println(bi1.subtract(bi2)); //4. 测试乘法 System.out.println(bi1.multiply(bi2)); //5. 测试除法 System.out.println(bi2.divide(bi1)); //6. 测试valueof方法 System.out.println(BigInteger.valueOf(21474836488888888L)); }
2. 再来看看BigDecimal
BigDecimal是解决float和double的精度丢失而出现的。
相关文章推荐
- java 正则表达式提取html纯文本
- JavaSE----基础语法(运算符)
- java 开发内存不足的问题——gc overhead limit exceeded eclipse
- Spring框架之Filter应用
- Java-发送邮件(附件、图片)---(五)实例
- JDK环境变量配置以及可能出现的问题
- mac myEclipse 2015 svn 安装
- [LeetCode][Java] Decode Ways
- 使用 Eclipse 调试 Java 程序的 10 个技巧
- Java — equals和==的区别
- Java中的反射机制
- java中Debug调试功能简单使用
- 最佳新秀SSH(十三)——Spring集装箱IOC分析和简单的实现
- 深入浅出 Java Concurrency (13): 锁机制 part 8 读写锁 (ReentrantReadWriteLock) (1)
- 【Java基础第二弹】Java序列化进阶篇
- day05--Java基础知识--Exception异常
- Java线程之守护线程(Daemon)用法实例
- Java数组的扩容
- JAVA的包
- Java的日期格式化常用方法