package object; import java.math.BigDecimal; import java.math.BigInteger; /** * @author dayu * @Describe 大数字的计算 */ public class BigIntegerDemo { public static void main(String[] args) { BigInteger bigInteger1 = new BigInteger("45645645645645645645645645645645645612321321312321312321456"); BigInteger bigInteger2 = new BigInteger("45645645645612321321312321312321"); System.out.println("加法:" + bigInteger1.add(bigInteger2)); System.out.println("减法:" + bigInteger1.subtract(bigInteger2)); System.out.println("乘法:" + bigInteger1.multiply(bigInteger2)); System.out.println("除法:" + bigInteger1.divide(bigInteger2)); BigInteger[] divideAndRemainder = bigInteger1.divideAndRemainder(bigInteger2); System.out.println("商商:" + divideAndRemainder[0] + ",余" + divideAndRemainder[1]); System.out.println(roundAndHalf(1234556.1415354,2)); } /** * ·四舍五入的进位方法 * @param num 源数据 * @param scale 进位数 * @return */ private static double roundAndHalf(double num,int scale) { return new BigDecimal(num).divide(new BigDecimal(1), scale, BigDecimal.ROUND_HALF_UP).doubleValue(); } }
一般计算:
package object; /** * @author dayu */ public class MathDemo { public static void main(String[] args) { long round = Math.round(12.3); System.out.println(round); //自定义方法 double round3 = round(123.563482, 4); System.out.println(round3); } /** * ·保留小数的四舍五入 * @param num 原始数据源 * @param scale 要保留的小数 * @return */ public static double round(double num, int scale) { return Math.round(num * Math.pow(10, scale)) / Math.pow(10, scale); } }
原文地址:https://www.cnblogs.com/dayu007/p/10471657.html
时间: 2024-11-05 23:34:01