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)); } }