您的位置:首页 > 编程语言 > Java开发

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

2017-05-17 22:56 447 查看
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));
}

}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: