当前位置: 代码迷 >> 综合 >> HDU 1063 Exponentiation(Java大浮点数、toPlainString()、stripTrailingZeros())
  详细解决方案

HDU 1063 Exponentiation(Java大浮点数、toPlainString()、stripTrailingZeros())

热度:35   发布时间:2024-01-25 09:04:26.0

题目链接:点击这里
在这里插入图片描述
1、toPlainString() //转为普遍计数法输出

//给一个字符串1.238761976E-10
//如何得到0.0000000001238761976这个字符串呢?
BigDecimal bd = new BigDecimal("1.238761976E-10");
System.out.println(bd.toPlainString());

2、stripTrailingZeros() //去掉末尾0

//给一个字符串1245600.000
//如何得到1245600这个字符串?
BigDecimal bd = new BigDecimal("1245600.000");
System.out.println(bd.stripTrailingZeros());

3、substring为截取左闭右开区间子串的方法,若只引入一个参数,则从左端点一直截取到结尾。

import java.math.BigInteger;
import java.math.BigDecimal;
import java.util.*;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);//多组输入数据while(input.hasNext()) {BigDecimal a = input.nextBigDecimal();int b = input.nextInt();String ans = a.pow(b).stripTrailingZeros().toPlainString();if(ans.startsWith("0")) ans = ans.substring(1);System.out.println(ans);}}
}
  相关解决方案