题目如下:
代码如下:
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
}