18 using std::string_view;
26 bool Float::is(
const string& str) {
30 str.empty() ==
false &&
32 trimmedStr.begin() + (trimmedStr[0] ==
'-'?1:0),
34 [&dotCount](
unsigned char c) {
35 return isdigit(c) == 0 && (c !=
'.' || ++dotCount > 1);
36 }) == trimmedStr.end();
43 str.empty() ==
false &&
45 trimmedStr.begin() + (trimmedStr[0] ==
'-'?1:0),
47 [&dotCount](
unsigned char c) {
48 return isdigit(c) == 0 && (c !=
'.' || ++dotCount > 1);
50 ) == trimmedStr.end();
55 if (trimmedStr.empty() ==
true)
return 0.0f;
56 if (trimmedStr ==
"-")
return -0.0f;
60 (str.empty() ==
false &&
62 trimmedStr.begin() + (trimmedStr[0] ==
'-'?1:0),
64 [&dotCount, &digitSum](
unsigned char c) {
65 if (isdigit(c) != 0) digitSum+= c -
'0'; return isdigit(c) == 0 && (c !=
'.' || ++dotCount > 1);
67 ) == trimmedStr.end()) ==
true && digitSum > 0?stof(trimmedStr):0.0f;
72 if (trimmedStr.empty() ==
true)
return 0.0f;
73 if (trimmedStr ==
"-")
return -0.0f;
75 if (str.size() > 32) {
80 memcpy(buf, &trimmedStr[0], trimmedStr.size());
static void println()
Print new line to console.
static bool viewIs(const string_view &str)
Check if given string is a float string.
static float viewParse(const string_view &str)
Parse float.
static float parse(const string &str)
Parse float.