您的位置 首页 动态

C言语实现将字符串转换为数字的办法

这篇文章主要介绍了C语言实现将字符串转换为数字的方法,涉及系统函数atoi()函数的使用技巧,需要的朋友可以参考下本文实例讲述了C语言实现将

这篇文章首要介绍了C言语完成将字符串转化为数字的办法,触及体系函数atoi()函数的运用技巧,需求的朋友能够参阅下

本文实例叙述了C言语完成将字符串转化为数字的办法。共享给我们供我们参阅。详细完成办法如下:

C言语供给了几个规范库函数,能够将字符串转化为恣意类型(整型、长整型、浮点型等)的数字。以下是用atoi()函数将字符串转化为整数的一个比如:

代码如下:
# include
# include
void main (void) ;
void main (void)
{
int num;
char * str = “100”;
num = atoi(str);
printf(“The string str is %s and the number num is %d. “,str, num);
}


atoi()函数只要一个参数,即要转化为数字的字符串。atoi()函数的回来值便是转化所得的整型值。

下列函数能够将字符串转化为数字:
————————————————————————
函数名
————————————————————————
atof()将字符串转化为双精度浮点型值
atoi()将字符串转化为整型值
atol()将字符串转化为长整型值
strtod()将字符串转化为双精度浮点型值,并陈述不能被转化的一切剩下数字
strtol()将字符串转化为长整值,并陈述不能被转化的一切剩下数字
strtoul()将字符串转化为无符号长整型值,并陈述不能被转化的一切剩下数字
————————————————————————

将字符串转化为数字时可能会导致溢出,假如你运用的是strtoul()这样的函数,你就能查看这种溢出过错。请看下例:

仿制代码代码如下:
# include
# include
# include
void main(void);
void main (void)
{
char* str = “1234567891011121314151617181920″ ;
unsigned long num;
char * leftover;
num = strtoul(str, &leftover, 10);
printf(“Original string: %s”,str);
printf(“Converted number: %1u” , num);
printf(“Leftover characters: %s” , leftover);
}

在上例中,要转化的字符串太长,超出了无符号长整型值的取值规模,因而,strtoul()函数将回来 ULONG_MAX(4294967295),并使。char leftover指向字符串中导致溢出的那部分字符;一起,strtoul()函数还将全局变量errno赋值为ERANGE,以告诉函数的调用者发生了 溢出过错。函数strtod()和strtol()处理溢出过错的方法和函数strtoul()完全相同,你能够从编译程序文档中进一步了解这三个函数的 有关细节。

期望本文所述对我们的C言语程序设计有所协助。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/257750.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部