You can bind apex:inputText to a variable on your controller.
You can bind apex:inputField to an sObject field in your controller
When you hit the commandButton the viewstate will be transmitted and the variable assignment will happen, you don't need to explicitly pass in the value as a parameter. Just access the variable in your controller as normal.
Best Answer
One way you could make this work is HTML5-ifying your Visualforce page and use
<apex:input type="number" />
instead of apex:inputText.Otherwise, you could implement some javascript validation or send it back to your controller and do the validation in Apex.