c语言中如何将字符串转化成整数型并输出?

int i = Integer.parseInt(s);

在C语言中将字符串转化成整型有两种方法。

c++ string 转int CString转intc++ string 转int CString转int


c++ string 转int CString转int


c++ string 转int CString转int


1 用atoi函数。

int atoi(char str);

比如atoi("1234");会返回定义int a,b;后整型1234。

用sscanf可以处理更复杂的字符串。

比如字符串char str = "a=1, b=2";

可以用

sscanf(str,"a=%d, b=%d",&a,&b);

来将a,b值提取,计算后,a=1, b=2。

在C语言中将字符串转化成整型有两种方法。

1 用atoi函数。

atoi的功能就是将字符串转为整型并返回。其声明为

int atoi(char str);

比如atoi("1234");会返回整型int b=a;//c语言有自动转换的机制 会将右边的字符1自动转换成整型1234。

2 用sscanf。

用sscanf可以处理更复杂的字符串。

比如字符串char str = "a=1, b=2";

可以用

sscanf(str,"a=%d, b=%d",&a,&b);

来将a,b值提取,计算后,a=1, b=2。

c语言如何将字符串强制转换为整型?如"162837"转化为162837

(2)还有一点区别就是

使用atoi函数转换。头文件位于stdio.h。

实例参考:

#="A";//十六进制表示的数字。include

int main(void)

{int y=atoi(n = atoi(str);x);

printf("This is a string.n");

printf("This is a number.n");

printf("%dn", y);

("pause");

c#中类型如何强制转换

方法View ColorizedCopy to ClipboardPrintint at=Convert.ToInt32(Convert.ToDouble(test2))。oi(const char str );:

1、int适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型);

2、int.Parse(stringsParameter)是个静态方法,参数类型只支持string类型;

3、Convert.ToInt32()适合将Object类型转换为int型;

4、Convert.ToInt32()和int.Parse()的细微别:

对于空值(null)的处理不同,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则五、参数:会产生异常。

扩展资料:

自动类型转换:

在C语言中,自动类型转换遵循以下规则:

1、若参与运算量的类型不同,则先转换成同一类型,然后进行运算。

2、转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。

a、若两种类型的字节数不同,转换成字节数高的类型

b、若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型

3、所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。

4、char型和short型(在visualc++等环境下)参与运算时,必须先转换成int型。

5、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分直接舍去。

参考资料:百度百科-强制类型转换

C语言:把数字字符串转换成整型数字

void main()

{char s[20]; //根据需要定义一个足够长的字符串

int m;

scanf("%snum=0;",s[]); //输入一个字符串

int f(char str[]); //声明

m=f(s[]); //调用

printf("%dn",m);

}int f(char str[]) //定义

{int i,n,sum;

sum=0;

while(str[i]) //当str[i]不为0时执行循环

{sum=sum10+str[i];

i+string+;

}return(sum);

int atoi(const char s)

int i = 0;

while (s[i] != '0')

{n = 10;

n += s[i] - '0';//很关建啊,‘9’-‘0’=9 啊!!(字符-字符=数值)

i++;

}return n;

#include

{char str[81];

strcpy(str,"123");

int result=atol(str); //利用atol函数,它是将包含数字字符串转换为长整型数据

printf("the stri}ng:%s",str);

判断string可否转换为int

int num = atoi(ch)就是对的

用正则表达式判断(下面用的是ja语法):

String streturn 0;r = "";

boolean isNum = str.matches("[0-9]+");

#include isNum为true 则可转换 为false则不可转换

方法有很多种.给你一个链接,上面提供了4种方式,C#语言.如果你用的C,和这个例子也大同小异.

否。Int32.Parse转换,不能抛出异常.

用正则表达式先判断一下

这个是用来表示所以 数值 类型的。 包括了浮点数

bool isNumber(string str)

{Regex reg = new Regex(@"^d+([.]d+)?$");

return reg.Match(str).Success;

用try catch来实现

string a="123";

int i;

try

{i=int.Parse(a)

}catch

{转换错误。

c语言 字符型转换成整型

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

楼上的,你的个程序应该会出错.

#includeint main()

atoi函数的原型是

int atoi(const char str)

你程序里输入是字符char,而不是字符串char ,所以不行。

而且你输入的字符串必须以0结尾,否则也会出错

比如char ch[] = "12345";

了。

#include

void

main()

a='9';

int

b=a-'0';

//

int

b=a;如果这样写,b的值是57,就不对了。但是都转换为57这样的asc码也可以作为一种加密方式,是否这样作就由你决定。

printf("%dn",b);//这样输出的b为9,是整形的。

}至于加密,规则没有规定,因为加密的时候只有规则是保密的才算是加密,所以没有统一规定,很简单的加密就是颠倒数字顺序,大写变小写,字符变代码(你也可以自己规定代码规则),加减数字,首末掉换。。。总之怎么弄的规则你来定。

了。

#include

void

main()

a='9';

int

b=a-'0';

//

int

b=a;如果这样写,b的值是57,就不对了。但是都转换为57这样的asc码也可以作为一种加密方式,是否这样作就由你决定。

printf("%dn",b);//这样输出的b为9,是整形的。

}至于加密,规则没有规定,因为加密的时候只有规则是保密的才算是加密,所以没有统一规定,很简单的加密就是颠倒数字顺序,大写变小写,字符变代码(你也可以自己规定代码规则),加减数字,首末掉换。。。总之怎么弄的规则你来定。

按你的程序,这样改:

#include

void main ()

{int str;

char ch;

printf ("input :");

ch=getchar();

str=atoi(&ch);

printf ("str=%cn",str);

}字符型转换成整型,这样改:

#include

void main ()

{int str;

char ch;

printf ("input :");

ch=getchar();

str=(int)ch;

printf ("str=0x%xn",str);

#include

int main ()

{int str;

char ch;

printf ("input :");

ch=getchar();

str=atoi(&ch); //取地址就ok 了。

printf ("str=%cn",str);

C语言中,字符串怎么转换为int数组?

for (i = 0; i < sourceLen; i += 2)

你这是转换为16进制数啊

printf("%sn", x);

不过是可以实现的,好在我之前做过,代码在此:

{int i,m,temp=0,n;

m=strlen(s);//十六进制是按字符串传进来的,所以要获得他的长度

{if(s[i]>='A'&&s[i]<='F')//十六进制还要判断他是不是在A-F或者a-f之间a=10。。

n=s[i]-'A'+10;

else if(s[i]>='a'&&s[i]<='f')

n=s[i]-'a'+10;

else n=s[i]-'0';

}return temp;

}void HextoStr( const char sSrc, char sDest, int nSrcLen )

{int i;

char szTmp[3];

for( i = 0; i < nSrcLen; i++ )

{sprintf( szTmp, "%02X", (unsigned char) sSrc[i] );

memcpy( &sDest[i 2], szTmp, 2 );

}return ;

}void HexStrToByte(const char source, unsigned char dest, int sourceLen)

{short i;

unsigned char highByte, lowByte;

{highByte = toupper(source[i]);

lowByte = toupper(source[i + 1]);

if (highByte > 0x39)

highByte -= 0x37;

else

highByte -= 0x30;

if (lowByte > 0x39)

lowByte -= 0x37;

else

lowByte -= 0x30;

dest[i / 2] = (highByte << 4) | lowByte;

}return ;

String s = "485729304";

int}printf("num[] a = new int[s.length()];

for(int i = 0; i < s.length(); i++)

{//先由字符串转换成char,再转换成String,然后Integer

a[i] = Integer.parseInt( String.valueOf(s.charAt(i)));

}//字符串中的数据一定要是数字,否则会出现异常

s.charAt(i);得到字符串i位置的值,

Integer.parseInt();由String转换成Integer

用ASCII码,例如

char s[] = "12345";

int c = s[2];

则c的值就是3,因为0~9的ASCII码与其本身所代表的的数字相同

词频统计吗?

不需要对齐字典数组吗?

//对于下列字符:

String str = "hello";

//输出这种格式吗?:{"h":1,"e":1,"l":2,"o":1}

//还是这种?:[1,1,2,1]

for(int i=0;i

weight[i]=Integer.parseInt(list.get(i));}

c++中如何将一串数字string类转换成整型,

i=0;

你可以先调用string的c_str(),函数,该函数一个指向正规C字符串的指针, 内容与本字符串相同,然后调用atoi()函数就可以了啊,下面是一个简单的测试程序:

可通过强制类型转换或赋值过程中自动转换。

#include

using namespace std;

int main(){

string //结果为2str = "12345";

cout << atoi(str.c_str())<

return ;

}.

c如何将字符1转换为整型数1

sscanf与标准格式化输入函数scanf类似,不过源并非是标准输入,而是字符串。

将数字字符转为数字有两种方法:

int str16toint(char s[])

种:用数字字付出减去'0'即'1'-'0'(它俩是用ASCII码相减的即49-48=1)

第二种:用数字字付出减去48(48是‘0’的ASCII码)即'1'-48=1

例如想把‘2’转为2

int k;C语言有以下几种取整方法:

char b='2'

k=b-48或k=b-'0'

1.char a = '1';

int b;

b = a -'0';

这是C语言里面最经典的转化方法!

2.反之,若要将整型数1转换为字符1,则只需要 1+'0' 就OK了!!!

0 的ASC码为48.

所以:int a=(int) ('1' -48);

这样子就可以了。

char a='1';

用atoi函数

atoi();

Convert a string to integer.

int _wtoi(const wchar_t str );

char a = '1'

a-=48;

atoi函数

sprintf

C51字符拼接成字符串并转成int

);//b为123

可以使用sscanf,就像sprintf将整型数转换成字符串输出一样,逆运算(KEILC 中scanf和printf确定了通过单片机串行口完成输入输出模式,除非做了修改,一般实际中不用)。

char x[10]={'1','6','2','8','3','7','0'};

给你个例子:

unsigned int n;

sscanf(string,"%u",&n); //string是字符串,%u是格式控制串,u是无符号十进制数,&n是变量n的地址。

printf ("%dn",n); //可temp=temp16+n;在KEIL C 开发环境中输出观察

你可以把上面这部分代码放到KEIL C中的HELLO.C程序中观察验证一下。

C++中怎样把一个字符串数组中的数 转换成整形 数据 如:string s=“1234” 然后转换成int n=1234

for(i=0;i一、函数名:atoi

c);

二、函数声明:

int atoi(const char nptr);

C语言中用stdio.h。

C++中用cstdio。

四、功能:

将字符串nptr中的字符转成数字并返回。具体过程为:

参数nptr字符串,如果个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 0) 字符时停止转换,返回整型数。否则,返回零。

nptr, 要转换的字符串。如果为NULL会出错。

六、返回值:

转换后的整型数值。

七、示例代码:

#include

#include

using namespace std;

{const char str = "1234";//要转换(6)增加了标准模板库(STL)。的字符串

int r = 0;//转换结果

r = atoi(str);//执行转换