java大数字操作:BigInteger,BigDecimal(浮点型)

Posted 穆晟铭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java大数字操作:BigInteger,BigDecimal(浮点型)相关的知识,希望对你有一定的参考价值。

java大数字操作:

BigInteger:大数字整型的

BigDecimal(浮点型):大数字小数的,也适用大的整数

 

BigInteger:

        String num1 = "100381828646148164";
		String num2 = "10998979766868";
		BigInteger big1 = new BigInteger(num1);
		BigInteger big2 =new BigInteger(num2);
		System.out.println("两数相家:" + big1.add(big2));
		System.out.println("两数相减:" + big1.subtract(big2));
		System.out.println("两数相乘:" + big1.multiply(big2));
		System.out.println("两数相除:" + big1.divide(big2));

  

BigDecimal:

import java.math.BigDecimal;

class MyMath{
	public static double add(String num1, String num2)
	{
		BigDecimal bd1 = new BigDecimal(num1);
		BigDecimal bd2 = new BigDecimal(num2);
		return bd1.add(bd2).doubleValue();
	}
	
	public static double sub(String num1, String num2)
	{
		BigDecimal bd1 = new BigDecimal(num1);
		BigDecimal bd2 = new BigDecimal(num2);
		return bd1.subtract(bd2).doubleValue();
		
	}
	
	public static double mul(String num1, String num2)
	{
		BigDecimal bd1 = new  BigDecimal(num1);
		BigDecimal bd2 = new BigDecimal(num2);
		return bd1.multiply(bd2).doubleValue();
	}
	
	public static double div(String num1, String num2)
	{
		BigDecimal bd1 = new BigDecimal(num1);
		BigDecimal bd2 = new BigDecimal(num2);
		return bd1.divide(bd2).doubleValue();
	}
	
	public static double round(String num1, int scale)
	{
		BigDecimal bd1 = new BigDecimal(num1);
		BigDecimal bd2 =  new BigDecimal(1);
		return bd1.divide(bd2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
	}
}


public class BigDecimalDemo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根

		
		String num1 = "12345.524234";
		String num2 = "1234.23424";
		System.out.println("相加:"+ MyMath.add(num1,num2));
	}

}

  

 

以上是关于java大数字操作:BigInteger,BigDecimal(浮点型)的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 java.math.BigInteger 的情况下在 Java 中处理非常大的数字

大数字运算

Java基础系列9:BigInteger类和BigDecimal类

BigInteger与BigDecimal

Java中的高精度整数和高精度小数

JAVA中的BigInteger与BigDecimal类功能强大