1024


import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
    // write your code here
        Scanner sc=new Scanner(System.in);
        String[] num=sc.nextLine().split("E");
        double x=Double.parseDouble(num[0]);
        double y= Double.parseDouble(num[1]);
        BigDecimal str;
        if (x>=0){
            str=BigDecimal.valueOf(x*Math.pow(10,y));
        }else{
            str=BigDecimal.valueOf(-1*Math.abs(x)*Math.pow(10,y));
        }
        System.out.println(str.toPlainString());
    }
}

通過一個測試點,暈死

package com.company;
import java.math.BigDecimal;
import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        BigDecimal s = sc.nextBigDecimal();
        System.out.println(s.toPlainString());
    }
}

對BigDecimal還是很不熟,原來它僅僅是范圍大,初始的狀態也也還是科學計數法的形式,通過toPlainString方法,將數據轉為String形式,完整展開數據,記住這個方法了,bigDecimal.toPlainString()。

還是一個測試點超時,19分滿意了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM