EditBox:GetNumber
Reads any number value in the edit box.
number = EditBox:GetNumber()
Returns
- number
- number? - The number value in the edit box. Returns 0 if the text could not be converted to a number.
Details
This function proves to be very useful when reading in numbers. While EditBox:GetText() will return a string, which you can't perform any arithmetic operations or comparison with, this function converts the TextString to a number. This will even work for all strings that are considered as well formed numerical constants in lua (so it will work for '314.16e-2' too).
Function will scan editbox text and return once it finds text which cannot be interpreted as part of a number. It will return number recognized so far, or 0 if there were no valid digits recognized. The function will never return nil. For example (User input => Function returns):
":)" => 0 "123punks! 42" => 123 "-2.78" => -2.7799999713898 "+3.15" => 0 "222e-03" => 0.22200000286102 "0.31415926536e+1" => 3.1415927410126 "14e6" => 14000000 "21,000" => 21
To verify that a 0 returned is indeed the numerical value in the editbox field, convert the results of GetNumber() to a string using tostring(), and compare to the results of EditBox:GetText().