浏览代码

Add is_numeric Method

JDierkse 5 年之前
父节点
当前提交
166999290b
共有 2 个文件被更改,包括 15 次插入2 次删除
  1. 13 2
      Utilities/StringAlgorithm.cpp
  2. 2 0
      include/StringAlgorithm.h

+ 13 - 2
Utilities/StringAlgorithm.cpp

@@ -8,7 +8,7 @@
 namespace StringAlgorithm {
 namespace Internal {
 
-size_t find_nth(const std::string& haystack, size_t pos, const std::string& needle, size_t nth) 
+size_t find_nth(const std::string& haystack, size_t pos, const std::string& needle, size_t nth)
 {
 	size_t found_pos = haystack.find(needle, pos);
 	if (0 == nth || std::string::npos == found_pos)
@@ -84,7 +84,7 @@ std::vector<std::string> split(const std::string& subject, const std::string del
 {
 	std::string s(subject);
 	char delimiter = delimiters.front();
-	
+
 	for (const char& c : delimiters)
 		std::replace(s.begin(), s.end(), c, delimiter);
 
@@ -118,4 +118,15 @@ std::string::const_iterator find_nth(const std::string& haystack, const std::str
 	return iterator;
 }
 
+bool is_numeric(const std::string& string)
+{
+	auto result = double();
+	std::stringstream i;
+
+	i << string;
+	i >> result;
+
+	return !i.fail() && i.eof();
+}
+
 } // namespace StringAlgorithm

+ 2 - 0
include/StringAlgorithm.h

@@ -31,6 +31,8 @@ bool icontains(const std::string& subject, const std::string& find);
 
 std::string::const_iterator find_nth(const std::string& haystack, const std::string& needle, size_t nth);
 
+bool is_numeric(const std::string& str);
+
 } // namespace StringAlgorithm
 
 #endif // STRINGALGORITHM_H