lexical_cast_default<double> : useful for attack/defense weight

This commit is contained in:
Benoît Timbert 2006-02-21 04:29:50 +00:00
parent 94dd723db4
commit 1aefd4b986

View File

@ -66,3 +66,17 @@ int lexical_cast_default<int, const char*>(const char* a, int def)
}
}
template<>
double lexical_cast_default<double, const std::string&>(const std::string& a, double def)
{
char* endptr;
double res = strtod(a.c_str(), &endptr);
if (a.empty() || *endptr != '\0') {
return def;
} else {
return res;
}
}