轉載來自:https://blog.csdn.net/qq_32680617/article/details/51924415
菜雞本人
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
static Scanner sc = new Scanner(System.in);
static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[]args) throws IOException
{
String s = bf.readLine();
int len = s.length();
int pos = len;//如果沒有小數點的話 那麼就是整數理所當然小數點應該在最後
for(int i = 0; i < len; i ++)
{
if(s.charAt(i) == '.')
{
pos = i;
break;
}
} //找到小數點的具體所在位置!!!!!
String t = "";
int flag = 0;
for(int i = 0 ; i < len; i ++)
{
if(s.charAt(i) > '0' && s.charAt(i) <= '9')//X.XXX 第一個X應該1~~~~9之間
{
t += s.charAt(i);
t += ".";
flag = i + 1; //找到此刻作爲前面那個數的位置
s = s.substring(i + 1);
s = s.replace(".","" );
t += s;
break;
}
}
int gg = t.length();
for(int i = gg - 1; i >= 1; i --)
{
if(t.charAt(i) == '.' || t.charAt(i) == '0')
gg --;
else
break;
}
out.print(t.substring(0, gg));
if(pos != flag)
{
if(pos > flag)
out.printf("E%d\n",pos - flag);
else
out.printf("E%d\n",pos - flag + 1);
}
out.flush();
}
}
如果
s = s.substring(i + 1);
s = s.replace(".","" );
t += s;