C语言学习 您所在的位置:网站首页 c字符串转换成整数字 C语言学习

C语言学习

2024-06-09 18:18| 来源: 网络整理| 查看: 265

目录

整型→字符串

方法1:利用+‘0’将单个数字转字符

方法2:利用sprintf函数 

方法3:利用itoa函数

字符串→整型

方法1:利用-‘0’直接转换

方法2:利用atoi函数

整型→字符串

整形数据变成字符串,最重要的还是单个数字变成单个字符:

c就是字符 '1'

int a=1; char c; c=1+'0'; 方法1:利用+‘0’将单个数字转字符

这里列举十进制数变成字符串的方法:

如果是其他进制方法类似:除进制取余数法

#include int i; int main(){ int a=1023034;char b[20]; int c=a; while(a!=0)//求出数字位数 { a/=10; i++; } while(i--)//用+'0'把0~9的数字转成对应的字符 { b[i]=c%10+'0'; c/=10; } printf("%s",b); } 方法2:利用sprintf函数  int sprintf(char*s," ",int a)

s:表示接收的字符串

中间的“ ”,表示字符串s的进制

%d 十进制,比如十六进制 %x,八进制 %o 等,可以根据需求使用不同的格式占位符来实现。

a:表示需要转化的数字

返回值是写入的字符个数,可有可无

注意:负数需要单独处理负号!!

#include int main(){ int a=1324828; char s[100]; sprintf(s,"%x",a); printf("%s",s); }

 

如果是负数:

#include #include #include int main(){ int a=-1324828; char s[100]; int flag=0; if(a=0;i--){ s[i+1]=s[i]; } s[0]='-'; } printf("%s",s); }

方法3:利用itoa函数

注意:有些C语言环境禁用itoa函数(比如pta)

char*itoa(int a,char*s,int system) //int to ascll

a:表示需要转换的数

s:表示接收的字符串

system:代表a的进制

#include #include int main(){ int i=23892010; char a[100] ; itoa(i, a,16); printf("%s", a); }

字符串→整型 方法1:利用-‘0’直接转换

在强调一下:

数字从左向右取得到完整数字的步骤:左边每取一个数字那就把原来数字*进制+这个数数字从右往左取得到完整数字的步骤:右边每取一个数字就把这个数字乘以进制的幂次方(为第几位-1),+原来的数字

        

#include #include int main(){ int i=0,b=0; char a[100]={"238566010"}; while(a[i]!='\0'){ b=b*10+a[i]-'0'; i++; } printf("%d", b); } 方法2:利用atoi函数

atoi能将字符串转换成int类型

int atoi(char*s) //ascll to int

s表示需要转化的字符串

返回值为转换后的int类型

代码演示

#include #include int main() {     char a[10]="223932";     int b=atoi(a);     printf("%d",b);      }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有