Note
- 注意指数为正数且str1恰好不用补零时,后面不需要小数点。
-1.234E+03
-1234
Code:
#include<bits/stdc++.h>
using namespace std;
int main(){
string str;
cin>>str;
if(str[0]=='-') cout<<"-";
str=str.substr(1);
int i=0;
for(;str[i]!='E';i++);
string str1=str.substr(0,i);
int exp=stoi(str.substr(i+1));
if(exp==0) cout<<str1;
else if(exp>0){
for(int i=0;i<str1.length();i++){
if(i>1) exp--;
if(str1[i]!='.') cout<<str1[i];
if(exp==0&&i!=str1.length()-1) cout<<".";
}
while(exp>0){
cout<<"0";
exp--;
}
}
else{
cout<<"0.";
exp=-exp-1;
while(exp>0){
cout<<"0";
exp--;
}
for(int i=0;i<str1.length();i++){
if(str1[i]!='.') cout<<str1[i];
}
}
return 0;
}