标签:
http://acm.hdu.edu.cn/showproblem.php?pid=1063
Time Limit: 2000/500 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8076 Accepted Submission(s): 2279
1 import java.math.BigDecimal; 2 import java.util.Scanner; 3 4 5 public class Main { 6 public static void main(String[] args) { 7 Scanner s = new Scanner(System.in); 8 while(s.hasNext()){ 9 BigDecimal b = s.nextBigDecimal(); 10 BigDecimal ans = BigDecimal.valueOf(1); 11 int n = s.nextInt(); 12 while(n-- > 0) 13 ans = ans.multiply(b); 14 String string = ans.stripTrailingZeros().toPlainString().toString(); 15 if(string.startsWith("0.")) 16 string = string.substring(1); 17 System.out.println(string); 18 } 19 s.close(); 20 } 21 }
1、stripTrailingZeros() ,返回类型为BigDecimal的小于此数的但除去尾部的0的数值。
2、toPlainString(),返回BigDecimal类型的String类型字符串。
3、startsWith(),确定此实例的开头是否与指定的字符串匹配。
4、substring(),返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
大家都知道JAVA的类一般都要带toString这个方法的,BigDecimal则有toString,toPlainString和toEngineeringString三种表示成字符串的方法,
下面是这三种方法各自的特点:
toString: using scientific notation if an exponent is needed;
toEngineeringString:using engineering notation if an exponent is needed.
toPlainString:without an exponent field.
标签:
原文地址:http://www.cnblogs.com/shanyr/p/4693115.html