C语言有没有函数可以直接把数字字符串转换整型或浮点型的?

2024-11-18 18:24:43
推荐回答(4个)
回答(1):

#include
double
atof(
const
char
*str
);
功能:将字符串str转换成一个双精度数值并返回结果。
参数str
必须以有效数字开头,但是允许以“e”或“e”除外的任意非数字字符结尾。例如:
x
=
atof(
"42.0is_the_answer"
);
x的值为42.0.
#include
int
atoi(
const
char
*str
);
功能:将字符串str转换成一个整数并返回结果。参数str
以数字开头,当函数从str
中读到非数字字符则结束转换并将结果返回。例如,
i
=
atoi(
"512.035"
);
i
的值为
512.

回答(2):

有的
atof

名字来源:ascii to floating point numbers 的缩写
用 法: double atof(const char *nptr);
程序例:
#include
#include
int main()
{
float f;
char *str = "12345.67";
f = atof(str);
printf("string = %s float = %f\n", str, f);
return 0;
}

回答(3):

除了atof之外,还有用来转换成整型的atoi, atol, atoll以及可选项更多的strtol, strtoll,strtoul, strtoull(其中结尾是ll的函数可能有部分编译器不支持)

回答(4):

应该有的 atof