代码1-----小数
import java.math.BigDecimal;
// 使用此类可以进行含小数的大数操作,并且可以进行精确的四舍五入
class MyMath {
public static double add( double d1, double d2) { // 进行加法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.add(b2).doubleValue(); // BigDecimal由此类型转换为double型
}
public static double sub( double d1, double d2) { // 进行减法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.subtract(b2).doubleValue();
}
public static double mul( double d1, double d2) { // 进行乘法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
public static double div( double d1, double d2, int len) { // 进行乘法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static double round( double d, int len) { // 进行四舍五入--->len表示小数位数
BigDecimal b1 = new BigDecimal(d);
BigDecimal b2 = new BigDecimal(1);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
public class BigDecimalDemo01 {
/**
* BigDecimalDemo01----小数操作 使用此类可以进行含小数的大数操作,并且可以进行精确的四舍五入
*/
public static void main(String[] args) {
System.out
.println( "加法运算:" + MyMath.round(MyMath.add(10.345, 3.333), 1));
System.out
.println( "减法运算:" + MyMath.round(MyMath.sub(10.345, 3.333), 3));
System.out
.println( "乘法运算:" + MyMath.round(MyMath.mul(10.345, 3.333), 2));
System.out.println( "除法运算:" + MyMath.div(10.345, 3.333, 3));
}
}
// 使用此类可以进行含小数的大数操作,并且可以进行精确的四舍五入
class MyMath {
public static double add( double d1, double d2) { // 进行加法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.add(b2).doubleValue(); // BigDecimal由此类型转换为double型
}
public static double sub( double d1, double d2) { // 进行减法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.subtract(b2).doubleValue();
}
public static double mul( double d1, double d2) { // 进行乘法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
public static double div( double d1, double d2, int len) { // 进行乘法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static double round( double d, int len) { // 进行四舍五入--->len表示小数位数
BigDecimal b1 = new BigDecimal(d);
BigDecimal b2 = new BigDecimal(1);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
public class BigDecimalDemo01 {
/**
* BigDecimalDemo01----小数操作 使用此类可以进行含小数的大数操作,并且可以进行精确的四舍五入
*/
public static void main(String[] args) {
System.out
.println( "加法运算:" + MyMath.round(MyMath.add(10.345, 3.333), 1));
System.out
.println( "减法运算:" + MyMath.round(MyMath.sub(10.345, 3.333), 3));
System.out
.println( "乘法运算:" + MyMath.round(MyMath.mul(10.345, 3.333), 2));
System.out.println( "除法运算:" + MyMath.div(10.345, 3.333, 3));
}
}
代码2-----整数
import java.math.BigDecimal;
// 使用此类可以进行含小数的大数操作,并且可以进行精确的四舍五入
class MyMath {
public static double add( double d1, double d2) { // 进行加法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.add(b2).doubleValue(); // BigDecimal由此类型转换为double型
}
public static double sub( double d1, double d2) { // 进行减法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.subtract(b2).doubleValue();
}
public static double mul( double d1, double d2) { // 进行乘法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
public static double div( double d1, double d2, int len) { // 进行乘法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static double round( double d, int len) { // 进行四舍五入--->len表示小数位数
BigDecimal b1 = new BigDecimal(d);
BigDecimal b2 = new BigDecimal(1);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
import java.math.BigInteger;
public class BigIntegerDemo {
/**
* BigInteger-----整数操作
*/
public static void main(String[] args) {
// 参数是字符串格式
BigInteger b1 = new BigInteger( "123456789");
BigInteger b2 = new BigInteger( "987654321");
System.out.println(b2.add(b1)); // 两大数相加的操作
System.out.println(b2.subtract(b1)); // 相减
System.out.println(b2.multiply(b1)); // 相乘
System.out.println(b2.divide(b1)); // 相除,余数被省略
System.out.println( "最大数:" + b2.max(b1)); // 求出最大数
System.out.println( "最小数:" + b2.min(b1)); // 求出最小数
BigInteger result[] = b2.divideAndRemainder(b1); // 求出余数的除法操作,
// result[0]表示商,result[1]表示余数
System.out.println( "商是---->" + result[0] + "\t余数是---->" + result[1]);
}
}
// 使用此类可以进行含小数的大数操作,并且可以进行精确的四舍五入
class MyMath {
public static double add( double d1, double d2) { // 进行加法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.add(b2).doubleValue(); // BigDecimal由此类型转换为double型
}
public static double sub( double d1, double d2) { // 进行减法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.subtract(b2).doubleValue();
}
public static double mul( double d1, double d2) { // 进行乘法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.multiply(b2).doubleValue();
}
public static double div( double d1, double d2, int len) { // 进行乘法计算
BigDecimal b1 = new BigDecimal(d1);
BigDecimal b2 = new BigDecimal(d2);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static double round( double d, int len) { // 进行四舍五入--->len表示小数位数
BigDecimal b1 = new BigDecimal(d);
BigDecimal b2 = new BigDecimal(1);
return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
}
}
import java.math.BigInteger;
public class BigIntegerDemo {
/**
* BigInteger-----整数操作
*/
public static void main(String[] args) {
// 参数是字符串格式
BigInteger b1 = new BigInteger( "123456789");
BigInteger b2 = new BigInteger( "987654321");
System.out.println(b2.add(b1)); // 两大数相加的操作
System.out.println(b2.subtract(b1)); // 相减
System.out.println(b2.multiply(b1)); // 相乘
System.out.println(b2.divide(b1)); // 相除,余数被省略
System.out.println( "最大数:" + b2.max(b1)); // 求出最大数
System.out.println( "最小数:" + b2.min(b1)); // 求出最小数
BigInteger result[] = b2.divideAndRemainder(b1); // 求出余数的除法操作,
// result[0]表示商,result[1]表示余数
System.out.println( "商是---->" + result[0] + "\t余数是---->" + result[1]);
}
}
转载于:https://blog.51cto.com/haiyuanxi/931168