C++,怎么把字符转换成数字

怎么把字符转换成数字,比如现在有一个字符 '7' ,这个7现在是一个字符,我想要把他转换成int型的 7。怎么弄

一、可以用C++的stringstream。 主要原因是操作简单。

数字转字符串,int float类型 同理

字符串转数字,int float类型 同理

二、使用sprintf()函数

char str[10]; 
int a=1234321;

sprintf(str,”%d”,a);

char str[10]; 
double a=123.321;

sprintf(str,”%.3lf”,a);

char str[10]; 
int a=175;

sprintf(str,”%x”,a);//10进制转换成16进制,如果输出大写的字母是sprintf(str,”%X”,a)

char itoa(int value, char string, int radix); 
同样也可以将数字转字符串,不过itoa()这个函数是平台相关的(不是标准里的)。

三、使用sscanf()函数

char str[]=”1234321”; 
int a; 
sscanf(str,”%d”,&a); 
…………. 
char str[]=”123.321”; 
double a; 
sscanf(str,”%lf”,&a); 
…………. 
char str[]=”AF”; 
int a; 
sscanf(str,”%x”,&a); //16进制转换成10进制。

另外也可以使用atoi(),atol(),atof()。

拓展资料:

以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-08-16

1、可以用atoi函数。

例:char a='7';
int num=atoi(a);

2、如果是很多数字,字符串形式的话按下列方式转成Int型。

例:String s="1234";
int i = Integer.parseInt(s);

拓展资料

C++对C的“增强”,表现在六个方面:

(1) 类型检查更为严格。

(2) 增加了面向对象的机制。

(3)增加了泛型编程的机制(Template)。

(4)增加了异常处理。

(5)增加了运算符重载。

(6)增加了标准模板库(STL)。

面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。

学习C++,既要会利用C++进行面向过程的结构化程序设计,也要会利用C++进行面向对象的程序设计,更要会利用模板进行泛型编程。

本回答被网友采纳
第2个回答  2018-05-22

C++可以通过 atoi函数把字符转换成数字。

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++之父Bjame Stroustrup最近说C++11就像一个新语言,的确,C++11核心已经发生了巨大的变化,它现在支持Lambda表达式,对象类型自动推断,统一的初始化语法,委托构造函数,deleted和defaulted函数声明nullptr,以及最重要的右值引用。

    头文件:stdlib.h   函数原型:int atoi(const char *nptr);

    #include <stdlib.h>
    #include <stdio.h>

    int main(void)
    {
    int n;
    char *str = "12345";
    n = atoi(str);
    printf("int=%d\n",n);
    return 0;
    }

    字符串转数字:使用sscanf()函数

    char str[]=”1234321”; 
    int a; 
    sscanf(str,”%d”,&a); 
    …………. 
    char str[]=”123.321”; 
    double a; 
    sscanf(str,”%lf”,&a); 
    …………. 
    char str[]=”AF”; 
    int a; 
    sscanf(str,”%x”,&a); //16进制转换成10进制

    另外也可以使用atoi(),atol(),atof().

第3个回答  推荐于2019-08-19

sprintf 字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。

sscanf 读取格式化的字符串中的数据。

1. 可以用sprintf函数将数字转换成字符串

int H, M, S;

string time_str;

H=seconds/3600;

M=(seconds%3600)/60;

S=(seconds%3600)%60;

char ctime[10];

sprintf(ctime, "%d:%d:%d", H, M, S); // 将整数转换成字符串

time_str=ctime; // 结果

拓展资料

C++对C的“增强”,表现在六个方面:

(1) 类型检查更为严格。

(2) 增加了面向对象的机制。

(3)增加了泛型编程的机制(Template)。

(4)增加了异常处理。

(5)增加了运算符重载。

(6)增加了标准模板库(STL)。

面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。

学习C++,既要会利用C++进行面向过程的结构化程序设计,也要会利用C++进行面向对象的程序设计,更要会利用模板进行泛型编程。

本回答被网友采纳
第4个回答  推荐于2019-08-26

标准库中定义了to_string(val);可以将其它类型转换为string。还定义了一组stoi(s,p,b)、stol(s,p,b)、stod(s,p,b)等转换函数,可以函数,可以分别转化成int、long、double等.
stoi(s,p,b);stol(s,p,b);stoul(s,p,b);stoll(s,p,b);stoull(s,p,b); 返回s的起始子串(表示整数内容的字符串)的数值,返回值的类型分别为:int、long、unsigned long、long long、unsigned long long.

其中b表示转换所用的基数,默认为10(表示十进制).p是size_t的指针,用来保存s中第一个非数值字符的下标,p默认为0,即函数不返 回下标.


stof(s, p); stod(s, p); stold(s, p); 返回s的起始子串(表示浮点数内容)的数值,返回值的类型分别是float、double、long double.参数p的作用与整数转换函数中的一样。

本回答被网友采纳

C\/C++编程笔记:如何将C ++字符串转换为数字?三种方法教给你
另一种方法是使用to_string()函数,它接受一个数字(可以是任何数据类型)并以所需字符串形式返回该数字。借助此函数,您可轻松实现数字与字符串之间的转换。第三种方法是借助Boost库中的lexical_cast()函数。只需将字符串作为参数传递,函数将自动转换为数字类型。若输入无效,将返回异常“bad_lexical_c...

在C \/ C ++中将字符串转换为数字
在C \/ C++中,将字符串转换为数字的两种常用方式包括使用stringstream类和sscanf函数。stringstream提供了直观的字符串操作,如将字符串轻松转换为整型(如int)、浮点型(如float)或双精度型(如double)。以下是一个使用stringstream将字符串转为int的例子:stringstream是一个便捷的工具,用于处理字符串,...

C++,怎么把字符转换成数字
一、可以用C++的stringstream。 主要原因是操作简单。数字转字符串,int float类型 同理 字符串转数字,int float类型 同理 二、使用sprintf()函数 char str[10]; int a=1234321;sprintf(str,”%d”,a);char str[10]; double a=123.321;sprintf(str,”%.3lf”,a);char str[10]; int a=1...

C++,怎么把字符转换成数字
1、可以用atoi函数。例:char a='7';int num=atoi(a);2、如果是很多数字,字符串形式的话按下列方式转成Int型。例:String s="1234";int i = Integer.parseInt(s);

c++字符串转化为数字
c++字符串转化为数字可以利用<sstream>的stringstream,并且可以是浮点数。stringstream类主要用于早期版本的C++,它可以通过对字符串执行输入和输出的工作。要使用stringstream类,首先必须通过添加#include<sstream>行在程序顶部包含sstream库。然后添加stringstream并创建一个stringstream对象,该对象将保存要转换为int...

c++字符串如何转化为数字?
1、C语言有atoi、atol、atof等库函数,可分别把ASCII编码的字符串转化为int、long、float类型的数字。需要注意的是,这个几个函数是C语言提供的扩展功能,并不是标准的函数,必须引入头文件#include;若需要移植性,请用sscanf函数。例如:int num=atoi("12345");\/\/字符串"12345"转换为数字12345,并存入num变量中2、ssc...

C\/C++中字符串与数字相互转换
1、首先我们找到Visual C++ 6.0,鼠标双击,点开 2、接着,输入头文件:includestdlib.h includestdio.h 3、我们调用itoa()函数把把整数num_int转成字符串str_int 调用gcvt()函数把浮点数num_dounle转化成字符串str_double 程序如下:int main(void){int num_int=200;double num_double=425....

c++怎么将字符‘3’转换为整型数字3啊?
字符符型转换整形用强制转换就行,可以参考下面的代码:char c='B' ;int a ;a = (int)c ;如果是字符'0'到‘9’转成0-9 char c='8' ;int a ;a =(int) (c - '0') ;

如何在c或c++中将单个字符型数据转换为相应的数字型数据
把单个字符型数据转换为相应的数字,只需用强制转换符即可,不需任何函数,例如:char Str='A';int X=(int)Str;这样,X就等于A的ASCII码65。如果你是 char Str='9'; \/\/然后想得到9这个数字,而不是9的ASCII码,那么只需要如下即可:int X=(int)Str-48; \/\/因为字符0的ASCII码是48,所以...

C++,16进制转化问题,字符串转化成数字
方法1:include <stdio.h> int main(){ char szValue[] = "01f0";int nValude = 0;sscanf(szValue,"%x",&nValude);printf("%d\\n",nValude);return 0;} 主要用到sscanf这个库函数:函数名: sscanf 功 能: 执行从字符串中的格式化输入 用 法: int sscanf(char *s...

相似回答