首页 > 代码库 > Convert integer to string(int类型转化为string类型)

Convert integer to string(int类型转化为string类型)

译:      

        这是一个常见的问题,但是对于这个问题我没有找到一个很好的方法:如何将整数类型转化为字符串类型?我遇到过几种解决方案。我不会使用stringstream。sprintf()函数也遇到了问题,并且它是C语言的风格。函数itoa()以前工作地很好,但参考文档说:

这个函数在ANSI-C中没有被定义,并且它不是C++的一部分,但有些编译器支持
并且这个函数也是C语言风格。

        我自己写了一个C++风格的函数,并且它工作起来没有错误(译者注:我不这么认为,详见后文)

string convertInt(int number)
{
    if (number == 0)
        return "0";
    string temp="";
    string returnvalue=http://www.mamicode.com/"";>

       不过,我认为有一个标准的函数(C++风格)可以使用。如果没有,谁能给一个关于stringstream如何工作的案例代码或者链接?

       感激任何帮助!

——————————————————————————————————————————

译者注:

       1. 对于C++我也遇到这个简单而没有很好的解决方法的问题,所以翻译此文,如果大家有好的方法,请赶快贴出来分享一下。

       2.该作者写的函数只适用于非负int型整数,对于int型整数可以这么写:

string intToString(int number)
{
	bool sign=true;
	if (number == 0)
	{
		return "0";
	}
	else if (number<0)
	{
		sign=false;
		number=-number;
	}
	string temp="";
	string returnValue=http://www.mamicode.com/"";>       3.对于超过int范围的整数,比如12345678901,-12345678901,该函数就又不能使用了,这时候需要继续想办法解决。

        欢迎各路高手给出你认为C++中最好的方法,当然也可以是你自己写的函数。



原文链接:http://www.cplusplus.com/forum/beginner/7777/