上机题目(高级)- 两个超级大的整数相减 -运用Java 类解决(Java)

时间:2022-11-11 14:55:00


题目如下:

上机题目(高级)- 两个超级大的整数相减 -运用Java 类解决(Java)

代码如下:

package huawei;

import java.math.BigDecimal;

public final class Demo {

public static void main(String[] args) {

String a="1223424324324317.1234";
String b="47.1234";
String ans_sub=decrease(a,b);
System.out.println("相减结果是:"+ans_sub);
}
/*****************************************************************************
Description : 两个任意长度的正数相减
Input Param : String minuend 被减数,以\0表示字符串结束
String subtrahend 减数,以\0表示字符串结束
Return Value : 减法结果,必须以\0表示字符串结束
*****************************************************************************/
public static String decrease(String minuend,String subtrahend )
{

BigDecimal result = null;
try {
BigDecimal b1 = new BigDecimal(minuend);
BigDecimal b2 = new BigDecimal(subtrahend);
result = b1.subtract(b2).stripTrailingZeros();//tripTrailingZeros()去掉无用的0
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return (result.toString());

}

//去掉最前面的0



}