#include <cstdio>
#include <string>
#include <iostream>
#include <sstream>
using namespace std ;
int main(void)
{
string data ;
string di , exp ;
string ans = "" ;
char sysDi , sysE ;
int nExp ;
int eIndex ;
//freopen("input.txt" , "r" , stdin);
getline( cin , data ) ;
eIndex = data.find( 'E' ) ;
sysDi = data.at(0) ;
sysE = data.at( eIndex + 1 ) ;
di = data.substr(1 , eIndex - 1 ) ;
exp = data.substr( eIndex + 2 , data.length() -1 ) ;
stringstream ss ;
ss <<exp ;
ss >>nExp ;
if( nExp == 0 )
{
if( sysDi == '-' )
{
cout << '-' ;
}
cout << di << endl ;
}
//是放大的
if( sysE == '+' )
{
//说明放大之后还是小数
if( di.length() - 2 > nExp )
{
ans = di.at(0) + di.substr( 2 , nExp ) + "." + di.substr( 2 + nExp , di.length() - 2 - nExp) ;
}
//放大之后超出了原来的数
else
{
int i = nExp - di.length() + 2 ;
ans = di.at(0) + di.substr( 2 , di.length() - 2 ) ;
while( i -- )
{
ans = ans + "0" ;
}
}
}
//是缩小的
else if( sysE == '-' )
{
int i = nExp - 1 ;
ans = "0." ;
while( i -- )
{
ans = ans + "0" ;
}
ans = ans + di.at(0) + di.substr( 2 , di.length() - 2 ) ;
}
//是否为负数,整数不需要加符号
if( sysDi == '-')
{
cout << '-' ;
}
cout << ans <<endl ;
return 0 ;
}
1073. Scientific Notation
最新推荐文章于 2022-01-28 20:45:50 发布