C语言标准库函数:将整型、长整型、浮点型数字转换为字符串的方法详解

C语言提供了几种标准库功能,可以将任何类型的数字(整数,长整数,浮点等)转换为字符串。

C语言标准库函数:将整型、长整型、浮点型数字转换为字符串的方法详解

1.int/float到字符串/数组:

C语言提供了几种标准库功能,可以将任何类型的数字(整数,长整数,浮点等)转换为字符串。以下列出了每个函数的方法和描述。

●ITOA():将整数值转换为字符串。

●LTOA():将长整数值转换为字符串。

●ultoa():将未签名的长整数值转换为字符串。

●GCVT():将浮点数转换为字符串并围绕它们。

●ECVT():将双精度的浮点值转换为字符串,并且转换结果不包含小数点小数点。

●fcvt():将位数指定为转换精度,其余的与ecvt()相同。

此外,您还可以使用Sprintf系列功能将数字转换为字符串,该数字比ITOA()系列函数缓慢运行。

2。字符串/阵列到int/float

C/C ++语言提供了几个标准库功能,可以将字符串转换为任何类型(整数,整数,浮点等)。

●ATOF():将字符串转换为双精度浮点数。

●atoi():将字符串转换为整数值。

●atol():将字符串转换为一个长整数值。

●strtod():将字符串转换为双精度浮点数,并报告所有无法转换的剩余数字。

●strtol():将字符串转换为一个长整数值,并报告所有无法转换的剩余数字。

●strtoul():将字符串转换为无符号的长整数值,并报告所有无法转换的剩余数字。

这是使用itoa()函数将整数转换为字符串的示例:

# 包括

# 包括

空间主(void)

int num = 100;

char str [25];

itoa(num,str,10);

printf(“数字'num'为%d,字符串'str'为%s。\ n”,

num,str);

itoa()函数具有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是传输数字时使用的基数。在上面的示例中,转换基础为10.10:十进制; 2:二进制...

ITOA不是标准的C函数,它是Windows唯一的。如果您想编写跨平台程序,请使用sprintf。它是在Windows平台下扩展的。标准库包含Sprintf,其功能比此功能更强,并且其用法类似于printf:

char str [255];

sprintf(str,“%x”,100); //将100个转换为十六进制字符串。

以下功能可以将整数转换为字符串:

----------------------------------------------------------------------------- ---------

使用功能名称

----------------------------------------------------------------------------- ---------

itoa()将整数值转换为字符串

itoa()将长整数值转换为字符串

ultoa()将未签名的长整数值转换为字符串

1。ATOI() - 将字符串转换为整数

测试点:将字符串转换为数字时了解相关的ASCII代码。

C实施:

#包括

#包括

int atoi(char s []);

int主(void)

char s [100];

得到(S);

printf(“ integer =%d \ n”,atoi(s));

返回0;

int atoi(char s [])

int i,n,标志;

for(i = 0; isspace(s [i]); i ++)//跳过whitespace;

sign =(s [i] ==' - ')? - 1:1;

if(s [i] =='+'|| s [i] ==' - ')//跳过符号

i ++;

for(n = 0; isDigit(s [i]); i ++)

n = 10*n+(s [i] - '0'); //将数字字符转换为塑料数字

返回标志 *n;

C ++实施:

1 #include

2使用命名空间std;

4 int str2int(const char *str)

5 {

6 int temp = 0;

7 const char *ptr = str; // PTR保存Str String的开头

9 if( *str ==' - '|| *str =='+')//如果第一个字符是一个正符号和负号,

10 {//移至下一个字符

11 str ++;

12}

13 while(*str!= 0)

14 {

15如果((*str <'0')||(*str>'9'))//如果当前字符不是数字

16 {//退出循环

17休息;

18}

19 temp = temp * 10 +( * str -'0'); //如果当前字符是数字,请计算数字值

20 str ++; //转到下一个角色

21 }

22如果(*ptr ==' - ')//如果字符串以“ - ”开头,则将转换为相反的数字

23 {

24 temp = -temp;

25}

26

27返回温度;

28}

29

30 int main()

31 {

32 int n = 0;

33 char p [10] =“”;

34

35 Cin.Getline(P,20); //从终端获取一个字符串

36 n = str2int(p); //将字符串转换为整数号码

37

38 cout = 0; j-)//生成的数字是相反的顺序,因此输出必须成反。输出。

printf(“%c”,s [j]);

它是int转换字符串类型的函数

C ++实施:

1 #include

2使用命名空间std;

4 void int2str(int n,char *str)

5 {

6 char buf [10] =“”;

7 int i = 0;

8 int len = 0;

9 int temp = n <0? -n:n; //温度的绝对值为n

10

11 if(str == null)

12 {

13返回;

14}

15时(温度)

16 {

17 buf [i ++] =(temp%10)+'0'; //将临时数量的数字保存到buf中

18温度= temp / 10;

19}

20

21 len = n <0? ++ i:i; //如果n是负数,则需要再增加一位来存储负数

22 str [i] = 0; //结尾是结尾字符0

23而(1)

24 {

25 i--;

26 if(buf [len-i-1] == 0)

27 {

28休息;

29}

30 str [i] = buf [len-i-1]; //将BUF数组中的字符复制到字符串

31}

32 if(i == 0)

33 {

34 str [i] =' - '; //如果是负数,请添加一个负标志

35}

36}

37

38 int main()

39 {

40 int nnum;

41 char p [10];

42

43 cout> nnum;

45 cout

你可能想看:
« 上一篇
下一篇 »

相关推荐

FreeBasic:强大免费开源的64位basic编译器及应用优势

2025年05月10日

82阅读

脊柱侧弯矫正方法大盘点:运动康复、支具矫正等多种方式

2025年05月09日

87阅读

如何在winForm标题栏去掉标题文字且任务栏图标正常显示

2025年05月09日

86阅读

十一黄金周促销广告词大全,国庆购物狂欢等你来

2025年05月09日

78阅读

关闭快速编辑模式及插入模式,设置控制台指定文字颜色举例

2025年05月09日

63阅读

黄金搭档低糖高钙饮品包装及成分功效全解析,适合人群要知晓

2025年05月09日

91阅读