AcWing 5972. 科学记数法Java
原题链接
中等
作者:
一介庸人
,
2024-11-25 15:44:08
,
所有人可见
,
阅读 6
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException{
Scanner sc = new Scanner(System.in).useDelimiter("\n");
String s = sc.nextLine();
//分割基数和小数
String[] parts1 = s.split("e");
//分割整数和小数部分
String[] parts2 = parts1[0].split("\\.");
String integer=parts2[0];
String decimal=parts2[1];
int exponent=Integer.parseInt(parts1[1]);
//特殊情况
//指数为0
if (exponent==0){
//0.0e0的情况
if(decimal.equals("0")){
System.out.println(integer);
return;
}
System.out.println(integer+"."+decimal);
return;
}
if(exponent>=decimal.length()){
if (!integer.equals("0")){
System.out.print(integer);
}
System.out.print(decimal);
if(decimal.length()<exponent){
for(int i=0;i<exponent-decimal.length();i++){
System.out.print("0");
}
}
}
else{
if (!integer.equals("0")){
System.out.print(integer+decimal.substring(0,exponent)+"."+decimal.substring(exponent));
}
else{
System.out.print(decimal.substring(0,exponent-1)+"."+decimal.substring(exponent));
}
}
}
}