【发布时间】:2014-11-09 06:33:09
【问题描述】:
假设我的字符串是“g9”。我希望我的检查表明该字符串不包含数字。然而 如果我的字符串是“123”或“-123”,它应该表明它是一个数字,它应该返回那个字符串。
【问题讨论】:
-
"g9" 确实包含数字 9
-
我认为他的意思是没有数字。使用 std::none_of 和 std::isdigit。
-
char *endptr; strtol(test_string, 10, &endptr); if (test_string == endptr || *endptr) Bad_Input(); -
到目前为止你尝试过什么代码?
-
如果字符串是
0xA或9e1,你想要什么作为判断?它们是十六进制和浮点数。 98765432109876543210呢?它是一个有效的十进制整数,但大于适合 64 位整数。您可能想调查strtol()和strtod(),看看他们在成功将字符串转换为数字时是否使用了字符串中的所有内容。