天天看点

java:大数运算的BigDecimal类型(小数)的一些运算

大数运算的BigDecimal类型(小数)的一些运算

    • 关键词
    • 相关说明
    • 源码
    • 运行结果
    • 失误记录

关键词

  • import java.math.BigDecimal;
  • subtract(减法) multiply(乘法) divide(除法)
  • 程序运行流程
  1. class Demo{Demo d_1=new Demo()}

    ··········实例化一个对象d_1

  2. d_1.way(参数1,参数2)

    ··········使用方法way

  3. public BigDecimal way(参数1,参数2){进行数学加、减、乘、除等的地方}

    ··········方法way的具体内容(原理)。

相关说明

应用和BigIngeger的方法差不多,只是BigDecimal多了小数这一部分。我们都懂商业的金融类的运算不可能都为整数,还要考虑小数部分,考虑小数的精确位数和方法。BigDecimal可以用前面BigInteger方法。

源码

import java.math.BigDecimal;					

class Demo{
	/**
	*方法add_way_0
	*前参数value_0为A
	*后参数value_1为A-1
	*用于计算value_0加value_1的结果
	*/
	public BigDecimal add_way_0(double value_0,double value_1){
		BigDecimal d_0=new BigDecimal(Double.toString(value_0));								//d_0对应加数
		BigDecimal d_1=new BigDecimal(Double.toString(value_1));								//d_1对应被加数
		return d_0.add(d_1);																	//返回计算d_0加d_1的结果
	}
	/**
	*方法subtract_way_0
	*前参数value_2为A
	*后参数value_3为A-1
	*用于计算value_2减value_3的结果
	*/
	public BigDecimal subtract_way_0(double value_2,double value_3){
		BigDecimal d_2=new BigDecimal(Double.toString(value_2));								//d_2对应减数
		BigDecimal d_3=new BigDecimal(Double.toString(value_3));								//d_3对应被减数
		return d_2.subtract(d_3);																//返回计算d_2减d_3的结果
	}
	/**
	*方法multiply_way_0
	*前参数value_4为A
	*后参数value_5为A-1
	*用于计算value_4加value_5的结果
	*/
	public BigDecimal multiply_way_0(double value_4,double value_5){
		BigDecimal d_4=new BigDecimal(Double.toString(value_4));								//d_4对应乘数
		BigDecimal d_5=new BigDecimal(Double.toString(value_5));								//d_5对应被乘数
		return d_4.multiply(d_5);																	//返回计算d_4乘d_5的结果
	}
	/**
	*方法divide_way_0
	*前参数value_6为A
	*后参数value_7为8
	*用于计算value_6除value_7的结果
	*/
	public BigDecimal divide_way_0(double value_6,double value_7){
		BigDecimal d_6=new BigDecimal(Double.toString(value_6));								//d_6对应除数
		BigDecimal d_7=new BigDecimal(Double.toString(value_7));								//d_7对应被除数
		return d_6.divide(d_7);																	//返回计算d_6除d_7的结果
	}

	public static void main(String[] args){

		//这里用和GigInteger一样的方法
		BigDecimal r_0=new BigDecimal("12345123456.1234");										//实例化Decimal对象为r_0
			System.out.println("这里比作12345123456.1234等于A,A作为一个标准量");				//标签提示r_0看作A
			System.out.println("A+4的结果:"+r_0.add(new BigDecimal("4")));

		//这里以下用主方法以外的外置方法
		Demo r_1=new Demo();																	//创建一个对象r_1
		//用方法add_way_0处理A+(A-1),加法
		System.out.println("A+(A-1)的结果:"+r_1.add_way_0(12345123456.1234,12345123455.1234));
		//用方法subtract_way_0处理A-(A-1),减法
		System.out.println("A-(A-1)的结果:"+r_1.subtract_way_0(12345123456.1234,12345123455.1234));
		//用方法multiply_way_0处理A*(A-1),乘法
		System.out.println("A*(A-1)的结果:"+r_1.multiply_way_0(12345123456.1234,12345123455.1234));
		//用方法divide_way_0处理A/8,除法
		System.out.println("A/8的结果:"+r_1.divide_way_0(12345123456.1234,8));
	}
}
           

运行结果

java:大数运算的BigDecimal类型(小数)的一些运算

失误记录

1.实例化时忘记加new

2.前面命名为ualue后面用时却是用value