启动应用程序时,我收到命令行参数。 我从命令行得到四个参数。
解析后我将它们存储在四个std :: string / CString(mfc)变量中,现在我需要知道该值是否为十进制。因为这些参数将在某些数学计算中使用。
任何人都可以帮我这个。
答案 0 :(得分:3)
here您可以找到如何确定字符串是否为70种语言的数字!
我不确定所有解决方案是否都检查相同的内容。 C ++实现检查输入是否为基数10的正/负整数/浮点数,或者它是否为基数为8/16的正/负整数。 这就是你想要的吗?你只需要支持正数吗?你需要支持浮点吗?
您可能需要将输入字符串转换为数字值,因此没有理由分两步(检查,然后转换)。最好一步到位。
还有一件事:如果输入字符串太长,例如“32525252332912461984612491264912649126129319312931279171295127951275129” - 您通常不希望将其视为有效输入。
答案 1 :(得分:2)
查看字符串中的每个字符,如果您发现的不是数字或“。”,那么它不是数字。
答案 2 :(得分:1)
只需使用明确报告失败的字符串 - >数字转换功能。
e.g。 strtod
而非atof