题目如下:
代码如下:
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 }
上机题目(高级)- 两个超级大的整数相减 -运用Java 类解决(Java)
原文:http://blog.csdn.net/yayun0516/article/details/50539193