When converting a string to a number, the string must begin with the number. It stops as soon as there is anything else. For example int("2g34") will return 2, float("3.2H45") will return 3.2, and float("S3.34022") will return 0, as it starts with a letter.
But there is an easier way to achieve the results. As I understand, latitudes may be written as with "N" and "S" or "+" and "-" in the beginning. If so, then just use replace()
+ Button: On Button clicked
-> System: Set global variable 'latitude' to replace(Uppercase(EditBox.Text), "N", "+")
-> System: Set global variable 'latitude' to replace(global('latitude'), "S", "-")
-> Text: Set text to global('latitude')
latitude is a text variable
This event will first convert the text of the editbox to uppercase, then replace all "N" in that text with "+" and all "S" with "-". This way, the user can enter the latitude in any way, e.g. "+3.34", "N3.34", "n3.34"
However, you still have to make sure the latitude is not entered incorrectly.