Wednesday, June 20, 2007

string和int间的类型转换 ZZ

*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

No comments: