Remember that Try Parse is new in 2.0 and before then it was better to use Is Numeric that any other strategy. Generally, building the state machine takes O(2^n) where n is the length of the regex, whereas reading is O(k) where k is the length of the string being searched. Try Parse() can manage all of these as required using Number Styles and IFormat Provider. I've never actually used that extension method, good call. Try Parse returns true in this case (an empty string does not cause an error when parsing as a number). // From PHP documentation for is_numeric // ( // Finds whether the given variable is numeric. This method can also be used to easily parse a list of numeric strings into a list of method and it also lets you specify a default value to return if the conversion fails.
Try Parse(num String, out number1); if (can Convert == true) Console.I have no problem to use "Is Numeric" it works good. As for your second point, I hear ya, which is why I prefaced with if you don't want to use int. (which I'm assuming has more overhead...) I know this is an old thread, but none of the answers really did it for me - either inefficient, or not encapsulated for easy reuse. Any reason why you Try Parse before checking for Is Null Or White Space? 0777) notation is allowed too but // only without sign, decimal and exponential part. Apologies, if I knew more regex I'd be able to give better feedback. With that in place, you're right, "0" Is Numeric.Also you can see that there's little efficience difference between Try Parse and Is Numeric. Try Parse(), after a number of gyrations that are needed (among other things) for VB6 compatibility. Try Parse() is just as simple to use, and it saves you from wasting memory by loading Microsoft. Quick note: using a regular expression will be much faster if you manage to have the underlying finite-state machine built once and for all. I also wanted to ensure it returned false if the string was empty or null. Try Parse returns false if Is Null Or White Space doesn't it? static readonly Regex _is Numeric Regex = new Regex( "^(" /*Hex*/ @"0x[0-9a-f] " "|" /*Bin*/ @"0b " "|" /*Oct*/ @"0[0-7]*" "|" /*Dec*/ @"((?! Apologies for the faffing about, and thanks very much for the update, hope it helps others out too. method twice which of course isn't as efficient, but not everything has to be fully optimized, sometimes convenience is just more important.One of my pet hates is passing in a string of the type your are dealing with.Use the provided "Type" class and then evaluate it against type you wish to deal with at the appropriate time.So far, I've checked that the Textbox has something in it, but if it has a value then it should proceed to validate that the entered value is numeric: Here's a solution that allows either numeric only with a minus sign or decimal with a minus sign and decimal point.