C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C语言字符串与各数值类型

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

作者:思维之上

这篇文章主要介绍了C语言中字符串与各数值类型之间的转换方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

#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;
}

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

字符串转化为其他类型

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

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

您可能感兴趣的文章:
阅读全文