summaryrefslogtreecommitdiffhomepage
path: root/src/rtext.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rtext.c')
-rw-r--r--src/rtext.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/rtext.c b/src/rtext.c
index 1ab45277..a919fa4a 100644
--- a/src/rtext.c
+++ b/src/rtext.c
@@ -1421,6 +1421,28 @@ int TextToInteger(const char *text)
return value*sign;
}
+float TextToFloat(const char *text)
+{
+ float value = 0.0f;
+ float sign = 1.0f;
+
+ if ((text[0] == '+') || (text[0] == '-'))
+ {
+ if (text[0] == '-') sign = -1;
+ text++;
+ }
+ int i = 0;
+ for (; ((text[i] >= '0') && (text[i] <= '9')); ++i) value = value*10.0f + (float)(text[i] - '0');
+ if (text[i++] != '.') return value*sign;
+ float divisor = 10.0f;
+ for (; ((text[i] >= '0') && (text[i] <= '9')); ++i)
+ {
+ value += ((float)(text[i] - '0'))/divisor;
+ divisor = divisor*10.0f;
+ }
+ return value;
+}
+
#if defined(SUPPORT_TEXT_MANIPULATION)
// Copy one string to another, returns bytes copied
int TextCopy(char *dst, const char *src)