• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C语言中一些将字符串转换为数字的函数小结

c语言 搞代码 4年前 (2022-01-06) 37次浏览 已收录 0个评论

这篇文章主要介绍了C语言中一些将字符串转换为数字的函数小结,分别为atoi()函数和atol()函数以及atof()函数,需要的朋友可以参考下

C语言atoi()函数:将字符串转换成int(整数)
头文件:

 #include 

atoi() 函数用来将字符串转换成整数(int),其原型为:

 int atoi (const char * str); 

【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0’)才结束转换,并将结果返回。

【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。

范例:将字符串a 与字符串b 转换成数字后相加。

 #include  #include  int main () { int i; char buffer[256]; printf ("Enter a number: "); fgets (buffer, 256, stdin); i = atoi (buffer); printf ("The value entered is %d.", i); system("pause"); return 0; } 

执行结果:

 Enter a number: 233cyuyan The value entered is 233. 


C语言atof()函数:将字符串转换为double(双精度浮点数)
头文件:

 #include 

atol() 函数的名字源于“ascii to long”,用来将字符串转换成长整型数(long),其原型为:

 long atol(const char * str); 

【函数说明】atol() 会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0’)才结束转换,并将结果返回。

【返回值】返回转来源gao@!dai!ma.com搞$$代^@码!网换后的长整型数(long);如果 str 不能转换成 long 或者 str 为空字符串,那么将返回 0。

示例:将输入的字符串转换成long。

 #include  #include  int main () { long int li; char buffer[256]; printf ("Enter a long number: "); fgets(buffer, 256, stdin); li = atol(buffer); printf ("The value entered is %ld.\n", li); system("pause"); return 0; } 

执行结果:

 Enter a long number: 1200cyuyan The value entered is 1200. 


C语言atof()函数:将字符串转换为double(双精度浮点数)
头文件:

 #include 

函数 atof() 用于将字符串转换为双精度浮点数(double),其原型为:

 double atof (const char* str); 

atof() 的名字来源于 ascii to floating point numbers 的缩写,它会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘\0’)才结束转换,并将结果返回。参数str 字符串可包含正负号、小数点或E(e)来表示指数部分,如123. 456 或123e-2。

【返回值】返回转换后的浮点数;如果字符串 str 不能被转换为 double,那么返回 0.0。

温馨提示:ANSI C 规范定义了 stof()、atoi()、atol()、strtod()、strtol()、strtoul() 共6个可以将字符串转换为数字的函数,大家可以对比学习;使用 atof() 与使用 strtod(str, NULL) 结果相同。另外在 C99 / C++11 规范中又新增了5个函数,分别是 atoll()、strtof()、strtold()、strtoll()、strtoull(),在此不做介绍,请大家自行学习。

范例:

 #include  #include  int main(){ char *a = "-100.23", *b = "200e-2", *c = "341", *d = "100.34cyuyan", *e = "cyuyan"; printf("a = %.2f\n", atof(a)); printf("b = %.2f\n", atof(b)); printf("c = %.2f\n", atof(c)); printf("d = %.2f\n", atof(d)); printf("e = %.2f\n", atof(e)); system("pause"); return 0; } 

执行结果:

 a = -100.23 b = 2.00 c = 341.00 d = 100.34 e = 0.00 

以上就是C语言中一些将字符串转换为数字的函数小结的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C语言中一些将字符串转换为数字的函数小结

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址