java中处理高精度大数字的类 BigDecimal, BigInteger
2017-08-30 20:59
357 查看
java中处理有些大数字,还有要求高精度时我们使用BigDecimal,BigInteger类比较方便;
看下面这个代码;
package com.处理大精度大数字;
import java.math.BigDecimal;
import java.math.BigInteger;
public class Bignumeber {
public static void main(String[] args) {
System.out.println(0.09 + 0.01);
System.out.println(1.0 - 0.32);
System.out.println(1.015 * 100);
System.out.println(0.09/0.01);
// BigDecimal b1=new BigDecimal("0.09");
// BigDecimal b2=new BigDecimal("0.01");
// BigDecimal b1=new BigDecimal(0.09);
// BigDecimal b2=new BigDecimal(0.01);
BigDecimal b1=BigDecimal.valueOf(0.09);
BigDecimal b2=BigDecimal.valueOf(0.01);
double b4=b1.add(b2).doubleValue();
System.out.println(b4);
BigDecimal b3=b1.add(b2);
System.out.println(b3);
BigDecimal c1=new BigDecimal(1.0);
BigDecimal c2=BigDecimal.valueOf(0.32);
BigDecimal c3=c1.subtract(c2);
System.out.println(c3);
BigDecimal d1=BigDecimal.valueOf(1.015);
BigDecimal d2=BigDecimal.valueOf(100);
BigDecimal d3=d1.multiply(d2);
System.out.println(d3);
BigDecimal f4=b1.divide(b2);
System.out.println(f4);
BigInteger g1=new BigInteger("122223333333332233333333");
BigInteger g2=new BigInteger("112232333333333333434343");
BigInteger g3=g1.add(g2);
BigInteger g4=g1.subtract(g2);
BigInteger g5=g1.multiply(g2);
BigInteger g6=g1.divide(g2);
System.out.println(g3);
System.out.println(g4);
System.out.println(g5);
System.out.println(g6);
}
}
输出结果为:
0.09999999999999999
0.6799999999999999
101.49999999999999
9.0
0.1
0.10
0.68
101.500
9
234455666666665566767676
9990999999998899898990
13717409887777654334556811859222111111588855219
1
使用了了Big类可以处理高精度,大数字问题
看下面这个代码;
package com.处理大精度大数字;
import java.math.BigDecimal;
import java.math.BigInteger;
public class Bignumeber {
public static void main(String[] args) {
System.out.println(0.09 + 0.01);
System.out.println(1.0 - 0.32);
System.out.println(1.015 * 100);
System.out.println(0.09/0.01);
// BigDecimal b1=new BigDecimal("0.09");
// BigDecimal b2=new BigDecimal("0.01");
// BigDecimal b1=new BigDecimal(0.09);
// BigDecimal b2=new BigDecimal(0.01);
BigDecimal b1=BigDecimal.valueOf(0.09);
BigDecimal b2=BigDecimal.valueOf(0.01);
double b4=b1.add(b2).doubleValue();
System.out.println(b4);
BigDecimal b3=b1.add(b2);
System.out.println(b3);
BigDecimal c1=new BigDecimal(1.0);
BigDecimal c2=BigDecimal.valueOf(0.32);
BigDecimal c3=c1.subtract(c2);
System.out.println(c3);
BigDecimal d1=BigDecimal.valueOf(1.015);
BigDecimal d2=BigDecimal.valueOf(100);
BigDecimal d3=d1.multiply(d2);
System.out.println(d3);
BigDecimal f4=b1.divide(b2);
System.out.println(f4);
BigInteger g1=new BigInteger("122223333333332233333333");
BigInteger g2=new BigInteger("112232333333333333434343");
BigInteger g3=g1.add(g2);
BigInteger g4=g1.subtract(g2);
BigInteger g5=g1.multiply(g2);
BigInteger g6=g1.divide(g2);
System.out.println(g3);
System.out.println(g4);
System.out.println(g5);
System.out.println(g6);
}
}
输出结果为:
0.09999999999999999
0.6799999999999999
101.49999999999999
9.0
0.1
0.10
0.68
101.500
9
234455666666665566767676
9990999999998899898990
13717409887777654334556811859222111111588855219
1
使用了了Big类可以处理高精度,大数字问题
相关文章推荐
- Java 使用BigDecimal类处理高精度计算
- java使用BigDecimal 处理商业精度及高精度详解
- java使用BigDecimal 处理商业精度及高精度详解
- java使用BigDecimal 处理商业精度及高精度详解
- JAVA中的大数字BigInteger和BigDecimal
- Java模块 -- BigDecimal 高精度数字计算
- java BigDecimal 高精度运算 小数点处理详解
- 数字图像处理——用Java对数字图像取反
- 数字图像处理——用Java获取像素点的RGB值
- JAVA 数字图像处理----非白即黑的灰,2B青年的自画像
- Java中精确的数字计算类BigDecimal
- 在java中提供了大数字的操作类,即java.math.BinInteger类和java.math.BigDecimal类。这两个类用于高精度计 算,其中BigInteger类是针对大整数的处理类,而
- java 字符串—数字常用处理
- JAVA数字处理类使用
- Java 将科学计数法的数字转成完整的数字展示;double类型的小数值不准确的处理
- java处理加密文件---数字证书文件格式(cer和pfx)的区别
- BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)
- Java使用BigDecimal保留double、float运算精度、保留指定位数有效数字、四舍五入
- Java常用类库--大数处理类--BigInteger
- Java程序员从笨鸟到菜鸟之(四)java开发常用类(包装,数字处理集合等)(上)