2、下面的函数可以判断一个字符串是否是一个float类型的实数,请将它修改为模板,以便可以用于double实数的判断。 原函数: #include<sstream> using namespace std; bool isFloat(string s){ istringstream iss(s); flaot dummy; iss>>noskipws>>dummy; return iss && iss.eof(); }
时间: 2024-02-15 17:02:16 浏览: 71
C#判断字符串是否是int/double(实例)
修改后的模板函数如下:
```c++
#include <sstream>
#include <string>
using namespace std;
template <typename T>
bool isFloat(const string& s) {
istringstream iss(s);
T dummy;
iss >> noskipws >> dummy;
return iss && iss.eof();
}
```
调用时可以传入 `float` 或 `double` 作为模板参数,例如:
```c++
string s = "3.14";
bool isFloat1 = isFloat<float>(s); // true
bool isFloat2 = isFloat<double>(s); // true
```
阅读全文