string和int间的类型转换

string和int间的类型转换

int 转换 string
string  int2str( int  num)
{
   
if (num  ==   0 )
      
return   " 0 " ;
   
   
string  str  =   "" ;
   
int  num_  =  num  >   0   ?  num :  - 1   *  num;

   
while (num_)
   
{
      str 
=  ( char )(num_  %   10   +   48 +  str;
      num_ 
/=   10 ;
    }


   
if (num  <   0 )
      str 
=   " - "   +  str;

   
return  str;
}
string 转换 int
int  str2int( string  str)
{
   
int  i,len  =  str.size(),num  =   0 ;

    i 
=   0 ;   
   
if (str[ 0 ==   ' - ' )
      i 
=   1 ;
   
   
while (i  <  len)
   
{
      num 
=  num  *   10   +  ( int )(str[i]  -   ' 0 ' );
      i
++ ;
    }


   
if (str[ 0 ==   ' - ' )
      num 
*=   - 1 ;

   
return  num;
}

string和int间是可以自己写函数实现类型转换的,但是string和double就不太方便了,stirng转换double可以自定义函数实现,但是,double转换string就需要使用库函数了,如sprintf

你可能感兴趣的:(string和int间的类型转换)