Java笔记 - BigInteger和BigDecimal
2017-10-13 20:40
393 查看
BigInteger
用来处理大数据public void test(){ long sum = 1; for(int i = 1; i <= 21; i++){ sum *= i; } System.out.println(sum); }
输出结果:-4249290049419214848
因为已经超出了long允许的范围
这种情况就要使用BigInteger,他是java.math包下的一个类
public void test(){ BigInteger sum = BigInteger.valueOf(1); for(int i = 1; i<=21; i++){ BigInteger bi = BigInteger.valueOf(i); sum = sum.multiply(bi); } System.out.println(sum); }
输出结果:51090942171709440000
BigDecimal
处理二进制运算导致的误差public void test(){ System.out.println(2.0 - 1.1); }
输出结果:0.8999999999999999
如果要解决这种问题,就要用到BigDecimal类,它是java.math 包下的一个类
public void test(){ BigDecimal b1 = new BigDecimal("2.0");//创建BigDecimal对象时,必须使用String构造器 BigDecimal b2 = new BigDecimal("1.1"); BigDecimal b3 = b1.subtract(b2); System.out.println(b3); }
输出结果:0.9
相关文章推荐
- Java核心技术知识点笔记—大数值BigInteger和BigDecimal
- java蓝桥笔记1、BigDecimal,BigInteger,Calendar,GregorianCalendar,ArrayList,List,Vector,Stack,Scanner,Array
- JAVA大数处理(BigInteger,BigDecimal)
- 重踏学习Java路上_Day14(正则表达式,Math,Random,System,BigInteger,BigDecimal,Date,Calendar)
- JAVA大数处理(BigInteger,BigDecimal)
- JAVA大数处理(BigInteger,BigDecimal)
- java 中的大数据类型(BigInteger和BigDecimal)
- java中biginteger和bigdecimal在大数计算中的使用
- Java笔记(6)-Math、BIgInteger、DecimalFormat、Pattern和Macth、Scanner、System.exit()
- 【JavaSE学习笔记】常用类介绍03_Character,Arrays,BigDecimal,BigInteger,Calendar
- JAVA基础复习十四-Math、Random、System、BigInteger、BigDecimal、Date、SimpleDateFormat类
- JAVA大数处理(BigInteger,BigDecimal)
- Java中的大数据:BigInteger和BigDecimal
- Java5:BigInteger、BigDecimal详解
- JAVA常用类之——BigInteger和BigDecimal
- Java高新技术——大数操作(BigInteger、BigDecimal)
- Java之------大数(BigInteger,BigDecimal)
- java 中的大数据类型(BigInteger和BigDecimal)
- java 高精度数BigInteger和BigDecimal
- 【JavaSE】Java高精度计算类:BigInteger和BigDecimal