function to convert string to float

This commit is contained in:
Benni 2023-12-08 20:05:18 +01:00
parent a9ba51aa72
commit 49750f9ebf
2 changed files with 21 additions and 0 deletions

View File

@ -1481,6 +1481,7 @@ RLAPI const char *TextToUpper(const char *text); // Get upp
RLAPI const char *TextToLower(const char *text); // Get lower case version of provided string
RLAPI const char *TextToPascal(const char *text); // Get Pascal case notation version of provided string
RLAPI int TextToInteger(const char *text); // Get integer value from text (negative values not supported)
RLAPI float TextToFloat(const char *text); // Get float value from text (negative values not supported)
//------------------------------------------------------------------------------------
// Basic 3d Shapes Drawing Functions (Module: models)

View File

@ -1421,6 +1421,26 @@ int TextToInteger(const char *text)
return value*sign;
}
float TextToFloat(const char *text) {
float value = 0;
float sign = 1;
if ((text[0] == '+') || (text[0] == '-')) {
if (text[0] == '-') sign = -1;
text++;
}
int i;
for (i = 0; ((text[i] >= '0') && (text[i] <= '9')); ++i) value = value * 10 + (float) (text[i] - '0');
if (text[i++] == '.') {
float divisor = 10;
for (; ((text[i] >= '0') && (text[i] <= '9')); ++i) {
value += (float) (text[i] - '0') / divisor;
divisor *= 10;
}
}
return value * sign;
}
#if defined(SUPPORT_TEXT_MANIPULATION)
// Copy one string to another, returns bytes copied
int TextCopy(char *dst, const char *src)