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

运行结果

在这里插入图片描述

失误记录

1.实例化时忘记加new
2.前面命名为ualue后面用时却是用value

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值