|
@ -256,12 +256,12 @@ public: |
|
|
|
|
|
|
|
|
// Float removes 'E' to prevent scientific notation interpretation
|
|
|
// Float removes 'E' to prevent scientific notation interpretation
|
|
|
static float value_float() { |
|
|
static float value_float() { |
|
|
if (value_ptr) { |
|
|
if (!value_ptr) return 0; |
|
|
char *e = value_ptr; |
|
|
char *e = value_ptr; |
|
|
for (;;) { |
|
|
for (;;) { |
|
|
const char c = *e; |
|
|
const char c = *e; |
|
|
if (c == '\0' || c == ' ') break; |
|
|
if (c == '\0' || c == ' ') break; |
|
|
if (c == 'E' || c == 'e') { |
|
|
if (c == 'E' || c == 'e' || c == 'X' || c == 'x') { |
|
|
*e = '\0'; |
|
|
*e = '\0'; |
|
|
const float ret = strtof(value_ptr, nullptr); |
|
|
const float ret = strtof(value_ptr, nullptr); |
|
|
*e = c; |
|
|
*e = c; |
|
@ -271,8 +271,6 @@ public: |
|
|
} |
|
|
} |
|
|
return strtof(value_ptr, nullptr); |
|
|
return strtof(value_ptr, nullptr); |
|
|
} |
|
|
} |
|
|
return 0; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Code value as a long or ulong
|
|
|
// Code value as a long or ulong
|
|
|
static int32_t value_long() { return value_ptr ? strtol(value_ptr, nullptr, 10) : 0L; } |
|
|
static int32_t value_long() { return value_ptr ? strtol(value_ptr, nullptr, 10) : 0L; } |
|
|