在这篇文章中,边肖为大家整理了C转换字符串为数字的示例方法。有需要的朋友可以参考一下。
C++字符串转化为数字的库函数
1、atoi
函数:将字符串转换成整数。
方法:int atoi(const char * nptr);
说明:atoi是英文array到integer的缩写。Atoi()会扫描参数nptr字符串,如果第一个字符不是数字或者符号,就返回零,否则就开始类型转换,然后检测到非数字或者终止符/0就停止转换返回一个整数。参数:
*nptr:要转换的字符串。
返回值:
Int:转换后的整数。
2、atol
Can:将字符串转换成长的形状。
方法:long atol(const char * nptr);
说明:atol()会扫描参数nptr字符串,跳过前面的空格字符,开始转换,直到遇到数字或正负符号,然后在遇到非数字或字符串结尾('/0 ')时结束转换,返回结果。
参数:
*nptr:要转换的字符串。
返回值:
Long:转换后的长整数。
3、atof
函数:将字符串转换为双精度浮点数。
方法:double atof(const char * nptr);
说明:atof()会扫描参数nptr字符串,跳过前面的空格字符,开始转换,直到遇到数字或正负符号,然后在遇到非数字或字符串结尾('/0 ')时结束转换,返回结果。参数nptr字符串可以包含符号、小数点或E(e)来表示指数部分,如123.456或123e-2。
参数:
*nptr:要转换的字符串。
返回值:
Double:转换后的双精度浮点数。
4、strtod
函数:将字符串转换为双精度浮点值,并报告所有无法转换的剩余数字。
方法:double strtod (const char * nptr,char * * endptr);
解释:strtod()扫描参数nptr字符串,跳过前面的空格字符,直到遇到数字或正负符号才开始转换。直到出现非数字或字符串结尾('/0 '),它才结束转换,并返回结果。如果endptr不为空,则由于非限定条件而终止的nptr中的字符指针将由endptr返回。参数nptr字符串可以包含符号、小数点或E(e)来表示指数部分。例如123.456或123e-2。
参数:
*nptr:要转换的字符串。
**endptr:如果endptr不为空,则由于非限定条件而终止的nptr中的字符指针将由endptr返回。
返回值:
Double:转换后的双精度浮点数。
5、strtol
函数:将字符串转换为长整型值,并报告所有无法转换的剩余数字。
方法:long int strtol (const char * nptr,char * * endptr,int base);
说明:这个函数会根据参数基将参数nptr字符串转换成长整数。基本参数范围从2到36,即0。base参数表示采用的十进制,如10为基数,16为基数等。当基值为0时,十进制系统用于转换,但当遇到前缀“0x”时,十六进制系统用于转换,当遇到前缀“0x”时,八进制系统用于转换。首先,strtol()将扫描参数nptr字符串,跳过前面的空格字符,开始转换,直到遇到一个数字或正负符号,然后在遇到一个非数字或字符串结尾('/0 ')时结束转换,并返回结果。如果参数endptr不为空,则由于非限定条件而终止的nptr中的字符指针将由endptr返回。
参数:
*nptr:要转换的字符串。
**endptr:如果endptr不为空,则由于非限定条件而终止的nptr中的字符指针将由endptr返回。
基数:采用的十进制方法
返回值:
Long int:转换后的长整数。
6、strtoul
函数:将字符串转换为无符号长整型值,并报告所有无法转换的剩余数字。
方法:无符号长整型strtourl (const char * nptr,char * * endptr,int base);
详细说明:strtoul()会根据参数基将参数nptr字符串转换成无符号长整数。基本参数范围从2到36,即0。base参数表示采用的十进制,如10为基数,16为基数等。当基值为0时,十进制系统用于转换,但当遇到前缀字符如“0x”时,十六进制系统用于转换。首先,strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,开始转换,直到遇到一个数字或正负符号,然后在遇到一个非数字或字符串结尾(')时结束转换,并返回结果。如果参数endptr不为空,则由于非限定条件而终止的nptr中的字符指针将由endptr返回。
参数:
*nptr:要转换的字符串。
**endptr:如果endptr不为空,则由于非限定条件而终止的nptr中的字符指针将由endptr返回。
基数:采用的十进制方法
返回值:
无符号长整型:转换后的无符号长整型数。
以上是C如何将字符串转换成数字的细节。感谢您的学习和支持。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。