gpt4 book ai didi

C语言中字符串与各数值类型之间的转换方法

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C语言中字符串与各数值类型之间的转换方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

C语言的算法设计中,经常会需要用到字符串,而由于c语言中字符串并不是一个默认类型,其标准库stdlib设计了很多函数方便我们处理字符串与其他数值类型之间的转换.

首先放上一段展示各函数使用的代码,大家也可以copy到自己的机器上运行观察 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <stdio.h>
#include <stdlib.h>
 
int main( int argc, char *argv[]) {
   int num=183;
   char str[3];
 
   //itoa函数将整型转换为字符串数值类型
   itoa(num,str,10);
   printf ( "%s\n" ,str);
 
   //atoi函数将字符串转化为整形数值类型
   int nums= atoi (str);
   printf ( "%d\n" ,nums);
 
   double dou=12.432;
   char c[80];
   char cc[80];
   //sprintf函数可以实现其他数值类型到string类型的转换
   sprintf (c, "%2.2f" ,dou);
   //还可以实现多个数值和字符串之间的任意连接,反正最后转换成字符串
   sprintf (cc, "%2.3f%s" ,dou, "you" );
   printf ( "%s\n" ,c); 
   printf ( "%s\n" ,cc);
 
   //将单精度或者双精度类型转化为字符串的fcvt和gcvt函数
   //fcvt并不能显示小数点位置
   double fcvtnum=123.456;
   char *fcvtstr;
   int decdot,sign;
   fcvtstr=fcvt(fcvtnum,2,&decdot,&sign);
   printf ( "%s\n" ,fcvtstr);
 
   //gcvt能够显示小数点,其第二个参数表示有效位数字
   char fcvtstrg[20];
   gcvt(fcvtnum,6,fcvtstrg);
   printf ( "%s\n" ,fcvtstrg);
 
   // strtod和atof能将字符串转化为双精度和单精度类型
   printf ( "字符串转化为双精度浮点数%f\n单精度浮点数%f\n" ,
     strtod (fcvtstrg,NULL), atof (fcvtstrg));
 
   return 0;
}

下面对上面代码用到的各函数分类整理与描述 。

字符串转化为其他类型 。

  • atoi(char *str) :只有一个待转化字符串参数,返回整型数
  • atof(char *str) :只有一个待转化字符串参数,返回单精度浮点数
  • strtod(char *str,char *end) :一个待转化的字符串参数,和一个转化结束的字符串参数,一般将其置为NULL,返回双精度浮点数

其他数值类型转化为字符串 。

  • itoa(int num,char *str,10) :整形转化为字符串,第一个参数为待转化的整型值num,第二参数为转化后的结果存储字符串,第三个为转化的进制,无返回值
  • fcvt(float num,int ndigits,*decdot,*sign) :浮点型转化为字符串,第一个参数为待转化的浮点数num,第二个参数为保留的小数点后面的位数,第三个存储结果中小数点的位置,第四个参数存储数值的正负,返回转化后字符串的指针,但是字符串中并没有小数点(如123.456转化为123456),所以一般就不要用啦
  • gcvt(float num,int n,char *str) :浮点型转化为字符串,第一个参数为待转化的浮点数num,第二个参数为保留的有效位数(不是小数点后的哦),第三个参数为存储结果的字符串指针,无返回值
  • sprintf(char *str, format,float num[,float num2…]) :其他各种类型都可以通过sprintf转化为字符串str,其中format表示转化前保留的格式,并且支持多个数据类型一起转化实现连接功能

到此这篇关于C语言中字符串与各数值类型之间的转换方法的文章就介绍到这了,更多相关C语言字符串与各数值类型转换内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我!  。

原文链接:https://blog.csdn.net/manongpengzai/article/details/68926920 。

最后此篇关于C语言中字符串与各数值类型之间的转换方法的文章就讲到这里了,如果你想了解更多关于C语言中字符串与各数值类型之间的转换方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com