C++有没有string转化int的函数,怎样转换?

如题所述

有这样的库函数的
头文件 stdlib.h

字符串转换函数 函数列表
函数用途 函数名
字符串转换为整数 atoi
字符串转换为长整数 atol
字符串转换为浮点数 strtod
字符串转换为长整数 strtol
字符串转换为无符号长整型 strtoul

例程:
#include <stdlib.h>
#include <stdio.h>

int main(void)
{
int n;
char *str = "12345.67";
n = atoi(str);

printf("string = %s integer = %d\n", str, n);
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-28
有两种方法
1. c++中string到int的转换

1) 在C标准库里面,使用atoi:

#include <cstdlib>
#include <string>

std::string text = "152";
int number = std::atoi( text.c_str() );
if (errno == ERANGE) //可能是std::errno
{
//number可能由于过大或过小而不能完全存储
}
else if (errno == ????)
//可能是EINVAL
{
//不能转换成一个数字
}

2) 在C++标准库里面,使用stringstream:(stringstream 可以用于各种数据类型之间的转换)

#include <sstream>
#include <string>

std::string text = "152";
int number;
std::stringstream ss;

ss << text;//可以是其他数据类型
ss >> number; //string -> int
if (! ss.good())
{
//错误发生
}

ss << number;// int->string
string str = ss.str();
if (! ss.good())
{
//错误发生
}本回答被提问者和网友采纳
第2个回答  2011-12-06

C++有没有string转化int的函数,怎样转换?
字符串转换为浮点数 strtod 字符串转换为长整数 strtol 字符串转换为无符号长整型 strtoul 例程:include <stdlib.h> include <stdio.h> int main(void){ int n;char *str = "12345.67";n = atoi(str);printf("string = %s integer = %d\\n", str, n);return 0;} ...

c++ string 字面值与 int 互转的几种方法
1. 从string到int 使用 atoi 函数: 这是C语言的函数,但C++中可用其基础功能。例如:int num = atoi("123");strtol 函数: 更高级的选项,如 int num = strtol("123", nullptr, 10);,它允许指定进制(这里是10进制)。从C++11开始的 stoi 函数: int num = stoi("123");,更简洁,无需...

c++中如何将string类型转换为int类型?
在C++中将string类型转换为int类型,主要有以下几种方法:1. C语言风格函数 atoi与strtol是两种常见的转换方式。这两个函数从字符串开始寻找数字或者正负号或者小数点,遇到非法字符终止。如果字符串不是数字,或者含有非数字字符,函数不会报异常,直接输出0。例如:2. C++风格 在C++中,可以使用stoi来转...

c++ 如何将string 转化int的方法
1、采用最原始的string, 然后按照十进制的特点进行算术运算得到int,但是这种方式太麻烦,这里不介绍了。2、采用标准库中atoi函数。string s = "12";int a = atoi(s.c_str());对于其他类型也都有相应的标准库函数,比如浮点型atof(),long型atol()等等。3、采用sstream头文件中定义的字符串流对象...

C++ 中字符串 string 与 整数 int 相互转换的方法
C++中,字符串(string)与整数(int)之间的转换非常直观。首先,从string到int,有多种方法可供选择:利用标准库函数,如`atoi()`,它能将字符串转换为整数。对于其他类型,如浮点数的`atof()`,或者long型的`atol()`,也有相应的函数。另一种方式是借助`sstream`库中的字符串流对象,通过定义一个`...

c++中string类型如何转换成int类型
c++中string到int的转换有两种方法:1、 在C标准库里面,使用atoi:include <cstdlib>#include <string>std::string text = "152";int number = std::atoi( text.c_str() );if (errno == ERANGE) \/\/可能是std::errno{\/\/number可能由于过大或过小而不能完全存储}else if (errno == ???

C++ 有没有什么好办法实现string 转 int,哪位弄段简洁代码出来学习一...
原理是,用sscanf读两个参数,第一部分是数字,第二部分是字符,如果返回0和2,则说明字符串非法。那么函数返回false。否则就是能转化成功的数值。对于整数溢出,可以采用更高的转换方式,来比对即可。include <iostream> include <string> using namespace std;bool ConvertFromString(int &input, const ...

c++中如何将一串数字string类转换成整型,
一、函数名:atoi 二、函数声明:int atoi(const char *nptr);三、头文件:C语言中用stdio.h。C++中用cstdio。四、功能:将字符串nptr中的字符转成数字并返回。具体过程为:参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \\0) 字符时...

c++ string 转float、int
要将字符串转换为float,可以使用atof()函数,如argv[1]就是通过它转换的。同样,整数转换则可以借助atoi(),如argv[2]的处理。这两个函数都是将字符数组直接转换为目标类型。此外,C++还提供了另外两种方式将字符串直接转换为float或int,虽然未在文中提及具体方法,但它们在处理特定字符串格式时可能...

string转int的方法是什么?
String转int有两种方式:1、Integer.parseInt(str)。2、Integer.valueOf(str).intValue()。代码如下:数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明...

相似回答