大明A+B
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 11617 Accepted Submission(s):
4211
这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。
现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。
每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
public class Main1753 {
public static void main(String[] args) {
Scanner cin=new Scanner(System.in);
while(cin.hasNext()){
BigDecimal a=cin.nextBigDecimal();
BigDecimal b=cin.nextBigDecimal();
BigDecimal c=new BigDecimal(0);
c=a.add(b);
String str=c.stripTrailingZeros().toPlainString();//这里采用了先去掉末尾的0然后再转化成字符串输出;
System.out.println(str);
}
}
}
----------------------------------------
java.math.BigDecimal.stripTrailingZeros() 返回一个BigDecimal,它在数值上等于这一个,但表示形式移除所有尾部零。
例如,从BigDecimal值600.0,其中有[BigInteger,精度]组件等于[6000,1],得到6E2使用[BigInteger,精度]组件剥离尾随零等于 [6, -2]
声明
以下是声明java.math.BigDecimal.stripTrailingZeros()方法
public BigDecimal stripTrailingZeros()
参数
-
NA
返回值
此方法返回与移除所有尾部零的数值上相等的BigDecimal
异常
-
NA
例子
下面的例子显示math.BigDecimal.stripTrailingZeros()方法的用法
package com.yiibai;
import java.math.*;
public class BigDecimalDemo {
public static void main(String[] args) {
// create 4 BigDecimal objects
BigDecimal bg1, bg2, bg3, bg4;
bg1 = new BigDecimal("235.000");
bg2 = new BigDecimal("23500");
// assign the result of stripTrailingZeros method to bg3, bg4
bg3 = bg1.stripTrailingZeros();
bg4 = bg2.stripTrailingZeros();
String str1 = bg1 + " after removing trailing zeros " +bg3;
String str2 = bg2 + " after removing trailing zeros " +bg4;
// print bg3, bg4 values
System.out.println( str1 );
System.out.println( str2 );
}
}
让我们编译和运行上面的程序,这将产生以下结果:
235.000 after removing trailing zeros 235
23500 after removing trailing zeros 2.35E+4