c++字符串如何转化为数字?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++字符串如何转化为数字?相关的知识,希望对你有一定的参考价值。

假设原字符串为s,用两个函数,两个数组a,b;
一个函数将字符串里的单个字符转换成0-9这几个数字。将字符逐个读入a数组,遇到“.”则将点之前的数字合并读入b数组,如:a[2]='.',b[1]=a[1]+a[0]*10,然后将a数组清空继续读入“.”后面的数,直到遇到空格,如:a[1]=a[1]+s[3]/10;
a[2]=a[1]+s[4]/1e2;
然后将a[2]加到b[1]里。
参考技术A 你可以叫stringstream和vector帮忙。
下面的代码里dbl_array既是你要创建的实数数组(real代表你读到的字符串)。
#include<vector>
#include<string>
#include<sstream>
usingnamespacestd;
intmain()
stringreal="12.32123525.336.366";
stringstreamss(real);
vector<double>vd;
//collectallrealnumbers.
doubletemp;
while(ss>>temp)
vd.push_back(temp);
//createthearray.
double*dbl_array=newdouble[vd.size()];
for(inti=0;i<vd.size();++i)
dbl_array[i]=vd[i];

值得一提的是,vector可以被当成数组来用,而且它比数组优秀很多,所以你大可去掉上面的代码里多余的最后一段,直接用vector。
参考技术B 1、C语言有atoi、atol、atof等库函数,可分别把ASCII编码的字符串转化为int、long、float类型的数字。需要注意的是,这个几个函数是C语言提供的扩展功能,并不是标准的函数,必须引入头文件#include;若需要移植性,请用sscanf函数。
例如:int
num=atoi("12345");//字符串"12345"转换为数字12345,并存入num变量中
2、sscanf函数。
sscanf函数是C语言中从一个字符串中读进与指定格式相符的数据的函数。sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源。使用sscanf函数可以实现字符串到任意数据类型的转换。
例如:char
s[]="12345";
int
n;
sscanf(s,"%d",&n);//把字符串s转换为整形数据并存入变量n中

python如何将字符转换为数字

参考技术A int(x [,base ])         将x转换为一个整数    

long(x [,base ])        将x转换为一个长整数    

float(x )             将x转换到一个浮点数    

complex(real [,imag ])     创建一个复数    

str(x )              将对象 x 转换为字符串    

repr(x )             将对象 x 转换为表达式字符串    

eval(str )            用来计算在字符串中的有效Python表达式,并返回一个对象    

tuple(s )             将序列 s 转换为一个元组    

list(s )             将序列 s 转换为一个列表    

chr(x )              将一个整数转换为一个字符    

unichr(x )            将一个整数转换为Unicode字符    

ord(x )              将一个字符转换为它的整数值    

hex(x )              将一个整数转换为一个十六进制字符串    

oct(x )              将一个整数转换为一个八进制字符串

```

print(eval('2.00+1'))#对字符串表达式直接运算

print(type(eval('2.00+1')))#得出浮点数的结果

print(eval('2.00'))#对单个字符串运算

print(type(eval('2.00')))#表现为直接转化为浮点数,我们要的就是她,将文本型数字,转化为数值型数字

```

以上是关于c++字符串如何转化为数字?的主要内容,如果未能解决你的问题,请参考以下文章

c++字符串转化为数字

如何用C++将数字“1”转换成字符“1”?

C++或C语言如何将字符串转化为数学表达式

C 数字转 字符串

C++将小数(double)转化为分数(Rational)

如何将数组中的数字字符串转换为数字?