`
gstarwd
  • 浏览: 1525129 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

回复 C++中如何将Int类型转换为String类型?

阅读更多

像是C#,java等高级语言中,int转String类型都是很简单的,但是C++中好像很麻烦,我查了百度的资料,我找到了转换的方式:

我想问的是,为什么要这么做,而不提供直接转换的方式?

 

 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;
}

 

 

 

  • 2009-07-19 20:01
    _itoa, _itow
    Convert an integer to a string.

    atof, atoi, _atoi64, atol
    Convert strings to double (atof), integer (atoi, _atoi64), or long (atol).

    这两个函数不能转换吗?这两个函数应该用得比较多吧。itoa和atoi。还有很多数据转换的函数,msdn中有说明的。
  • 2009-07-19 20:16
     _itoa, _itow
    Convert an integer to a string.

    atof, atoi, _atoi64, atol
    Convert strings to double (atof), integer (atoi, _atoi64), or long (atol).

    itoa好像不具有可移植性吧。。。。这个时候我一般用snprintf()
  •  itoa好像不具有可移植性吧。。。。这个时候我一般用snprintf()
    目前对可移植性我倒是考虑得比较少,sprintf函数也可以的,而且连单片机c语言都支持这个函数,因为我第一次接触到sprintf是在写单片机程序的时候,所以现在学c++一般没意识到这个函数,哈哈。。。。
  • 韩老师说得对,用stringstream自己稍做封装,就和C#或Java一样方便了。
    如果还要懒,像我,就是直接用boost。

    #include <boost/lexical_cast.hpp>
    #include <string>
    int main()
    {
        std::string str = "12345";
        int i;
        try
        {   
            i = boost::lexical_cast<int>(str);
        }
        catch( const boost::bad_lexical_cast & )
        {
            //unable to convert
        }

        return 0;
    }

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    觉得有异常很麻烦?呵呵,那看看C#或Java是碰上此类问题是如何表现?
  •  
分享到:
评论

相关推荐

    C++里如何将int类型的16进制数转换成string类型[归类].pdf

    在 C++ 中,有多种方法可以将 int 类型的 16 进制数转换成 string 类型。下面我们将讨论两种常见的方法。 方法一:使用 ostringstream 在问题中,我们看到的代码使用 ostringstream 将 int 类型的数字转换成 ...

    各种string类型转换

    以下将详细解析从给定文件中提取出的关于“各种string类型转换”的知识点。 ### ANSI String与C风格字符串(char*)之间的转换 #### ANSI String转C风格字符串 ```cpp #include void __fastcall TForm1::Button1...

    C++到C#数据类型转换

    本文将详细介绍 C++ 到 C# 数据类型的转换,包括基本数据类型、结构体、字符串、指针等。 一、基本数据类型转换 在 C++ 中,有很多基本数据类型,如整数、浮点数、布尔型等。这些数据类型在 C# 中也有对应的类型。...

    C++ VS2015 CString string int float各种类型转换数据类型转换.rar

    C++ VS2015 CString string int float各种类型转换,MFC对话框实现对各种类型数据转换并显示

    C++和C#的类型转换

    因此,在将C++代码移植到C#环境中时,需要对数据类型进行相应的转换。下面是常见的C++和C#数据类型转换: 1. HANDLE(void *) ---- System.IntPtr 在C++中,HANDLE是一个void指针,用于表示一个系统资源的句柄。在...

    c++ string转换double

    在 C++ 编程语言中,字符串(`std::string`)与数值类型(如 `int`、`double`)之间的转换是常见的需求之一。这种转换通常用于处理用户输入的数据、解析配置文件或处理网络通信中的数据等场景。本文将详细介绍如何将...

    C++中将string类型转化为int类型

    在C++编程语言中,有时候我们需要将存储数值的`string`类型转换为整型`int`类型,以便进行数学运算或其他处理。以下是一些在C++中实现这种转换的方法: 1. **`atoi()` 函数**: `atoi()` 是 `ASCII to Integer` 的...

    c++实现的将ip地址转换成四个int型,便于处理

    这种形式对于人类阅读非常友好,但在编程时,有时需要将其转换为更易于计算的格式,比如四个int类型的数据。C++程序中,这样的转换可以极大地提高处理IP地址的效率。本文将深入探讨如何使用C++实现这个功能,并介绍...

    CString,int,string,char之间的转换(C/C++)

    int可以使用to_string函数将int类型转换为string,例如: ``` int i = 64; string s = to_string(i); ``` 反之,将string转换为int类型可以使用stoi函数,例如: ``` string s = "64"; int i = stoi(s); ``` 七、...

    C++常见类型转换

    本文将详细介绍C++中常见的类型转换,包括IP地址转换、CString类型转换、float、int、double类型转换、string类型转换等。 1. IP地址转换 在C++中,IP地址可以用CString类型来表示。为了将IP地址转换为CString类型...

    c++常用变量类型的转换

    本文将详细介绍C++中几种常见数据类型之间的转换方法,帮助读者更好地理解和掌握这些技巧。 #### 标题:C++常用变量类型的转换 #### 描述:常用类型的转换方便大家学习,有空多交流交流 #### 标签:类型、转换、...

    c++ 整形转换string型

    ### 标签分析:“整形转换string型”、“类型转换”、“int转换string” 这些标签进一步明确了本文讨论的核心内容,即整型(int)到字符串(string)类型的转换。这不仅仅是简单的类型转换问题,还涉及到数据的编码...

    c++与pb的数据类型转换关系.txt

    说明:C++中的字符指针类型可以转换为PB中的`RefString`类型,用于传递字符串数据。 ##### 3. 颜色类型 - **C++**: `Colorref` (颜色引用,通常为整型) - **PB**: `Ulong` 说明:C++中的颜色引用类型可以通过转换...

    C++中string与int的相互转换实现代码

    在C++中,将string类型转换为int类型有多种方法。下面将介绍三种常见的方法: 1. 使用istringstream ```c string str = "1234"; int n; istringstream iss; iss.clear(); iss.str(str); iss &gt;&gt; n; cout ; ``` 在...

    C++Builder String,UNICODE,UTF8,ANSI互转的类.rar_c

    在C++Builder中,`String`类型是基于Unicode的,这意味着默认情况下,它存储的是宽字符(每个字符2字节),这与Windows API中的`WCHAR`和`LPCWSTR`类型相匹配。这种设计使得C++Builder可以方便地处理包含多语言字符...

    VC、C++ CString,int,string,char之间的转换

    ### VC、C++ 中 CString, int, string, char 之间的转换 在 C++ 开发过程中,数据类型之间的转换是常见的需求之一。对于 VC(Visual C++)开发环境来说,掌握不同字符串类型之间的转换方法尤为重要。本文将详细介绍...

    C++class_convert.rar_c++类型转换_类型转换

    在C++编程语言中,类型转换是至关重要的概念,它允许程序员在不同数据类型之间进行操作。本资源包,"C++class_convert.rar",主要关注C++中的类型转换,包括隐式转换和显式转换,这对于理解和编写高效、安全的代码至...

    int128_c++int128_

    在C++编程语言中,`int128`是一个用于表示大整数的数据类型,它提供了128位的存储空间,能够存储超出标准`int`、`long`或`long long`范围的大整数值。这个数据类型的使用场景通常包括处理大数据计算、密码学、数学...

    关于托管C++和非托管C++各种字符串类型的转换

    这里展示了如何将非托管C++中的`std::string`类型转换为整型`int`。转换过程中同样使用了`c_str()`方法获取字符串内容,并调用`std::atoi`函数将字符数组转换为整数。值得注意的是,`std::atoi`仅能处理纯数字字符串...

Global site tag (gtag.js) - Google Analytics