繁体   English   中英

如何知道std :: string / Cstring中的值是数字还是不是数字

[英]How to know value in the std::string/Cstring is number or not

启动应用程序时出现命令行参数。 我从命令行获取四个参数。

解析后,我将它们存储在四个std :: string / CString(mfc)变量中,现在我需要知道该值是否为十进制。因为这些参数将在某些数学计算中使用。

有人可以帮我吗?

在这里,您可以找到如何确定一个字符串是否为70种语言的数字!

我不确定所有解决方案是否都检查同一件事。 C ++实现检查输入对于基数10是否为正/负整数/浮点,或者对于基数8/16为a为正/负整数。 那是你要的吗? 您只需要支持正数吗? 您需要支持浮点数吗?

可能需要将输入字符串转换为数值,因此没有理由分两个步骤进行操作(先检查,然后转换)。 最好一步来做。

还有一件事:如果输入字符串过长,例如“ 32525252332912912461984612491264912649126129319312931279171295127951275129”-您通常不希望将其视为有效输入。

查看字符串中的每个字符,如果发现不是数字或'。'的字符,则它不是数字。

只需使用字符串->数字转换函数即可明确报告失败。

例如strtod而不是atof

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM