All values are stored internally as strings. It's the content of the strings that determines how they're interpreted at run time.
A string containing only numeric characters is considered an integer when it's used in an expression. A string consisting of numbers and a single decimal point is considered a real number. A string consisting of numbers separated by 2 or more decimal points is considered a version. A string that begins with the letter "v" followed by numbers (that may or may not be separated by decimal points) is also considered a version. Anything else is assumed to just be a string.
See Also: Expressions, Values