关键词
- import java.math.BigDecimal;
- subtract(减法) multiply(乘法) divide(除法)
- 程序运行流程
- class Demo{Demo d_1=new Demo()}
··········实例化一个对象d_1 - d_1.way(参数1,参数2)
··········使用方法way - 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