我试图找到一种方法来检查读入的 char * 是否可以表示为数字(带或不带小数位)。本质上我是在问,如果我有一个包含以下内容的文本文件:
-1.9e-3
e9
1e9
1ee9
-1-.9e3
.9e3
.9.e3
它将能够识别第 1 行、第 3 行和第 6 行可以“枚举”为有效数字,而所有其他行都包含错误输入。我知道这可以用蛮力来完成,但可能有无数种可能是错误的。如果有一个函数可以读取整个 char * 并且可以只说“是的,该字符串可以表示为实际数字”或“不,该字符串不能转换为数字,那将会容易得多它打算成为。”
枚举是指字符串 (char *)
可以是它希望表示的数字。
最佳答案
只需使用 strtold()
,它会告诉你它是否成功,并且还会给你转换后的数字。
关于检查一个字符串(char *)是否可以被枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47288414/