C语言中将字符串转化为数字的函数总结 |
您所在的位置:网站首页 › c语言字符转化为数字函数怎么转换 › C语言中将字符串转化为数字的函数总结 |
atoX系列函数 1、atoi函数 所在库 原型:int atoi(const char *str); 形参:一个指向字符串的指针 返回值:这个字符串中的数字对应的 int 型数 功能:将从字符串的第一个位置开始,略去空白,将字符型数字转化为数值型数字,直到遇到第一个非数字型字符时停止。如果字符串中第一个元素不是数字,那么返回0。可以识别正负号。 例子: #include #include int main() { char buf[20]; fgets(buf, 20, stdin); int i = atoi(buf); printf("%d\n", i); return 0; } 如果输入为: -123.43ui8 此时atoi把它转化为-123,对应输出为-123 如果输入为:e123 此时atoi把它转化为0,对应输出为:0 2. atol 所在库 原型:long atol(const char *str); 形参:一个指向字符串的指针 返回值:这个字符串中的数字对应的长整型数 功能:将从字符串的第一个位置开始,略去空白,将字符型数字转化为数值型数字,直到遇到第一个非数字型字符时停止。如果字符串中第一个元素不是数字,那么返回0。可以识别正负号。 3. atof 所在库 原型:double atol(const char *str); 形参:一个指向字符串的指针 返回值:这个字符串中的数字对应的double型数 功能:将从字符串的第一个位置开始,略去空白,将字符型数字转化为数值型数字,直到遇到第一个非数字型字符时停止。如果字符串中第一个元素不是数字,那么返回0。可以识别正负号。 #include int main() { char *a= "-100.23" ; char *b= "200e-2" ; doublec; c= atof (a)+ atof (b); printf (“c=%.2lf\n”,c); return 0; } 结果 c=-98.23strtoX系列函数 long int strtol ( const char * str, char ** endptr, int base ); unsigned long int strtoul ( const char * str, char ** endptr, int base ); double strtod ( const char * str, char ** endptr );头文件原型double strtod (const char* str, char** endptr); 形参:str是指向字符串开始的位置。 endptr为第一个不能转换的字符的指针。返回值:返回转换后的浮点型数;若不能转换或字符串为空,则返回 0.0。功能:strtod() 函数会扫描参数str字符串,跳过前面的空白字符(例如空格,tab缩进等),直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。参数 str 字符串可包含正负号、小数点或E(e)来表示指数部分。如123. 456 或123e-2。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |