EMPIREDB-321
diff --git a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
index 776e09b..7e52065 100644
--- a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
+++ b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/controls/TextInputControl.java
@@ -177,13 +177,11 @@
         // Check other types

         if (type == DataType.INTEGER)

         {

-            NumberFormat nf = NumberFormat.getIntegerInstance(ii.getLocale());

-            return parseNumber(value, nf);

+        	return parseInteger(value, ii.getLocale());

         }

         if (type == DataType.DECIMAL || type == DataType.FLOAT)

         {

-            NumberFormat nf = NumberFormat.getNumberInstance(ii.getLocale());

-            return parseNumber(value, nf);

+        	return parseDecimal(value, ii.getLocale());

         }

         if (type == DataType.DATE || type == DataType.DATETIME || type == DataType.TIMESTAMP)

         {

@@ -597,21 +595,27 @@
 

     // ------- value parsing -------

 

-    protected Object parseNumber(String s, NumberFormat nf)

+    protected Object parseInteger(String value, Locale locale)

     {

-        // Try to convert

-        for (int i = 0; i < s.length(); i++)

-        {

-            if (s.charAt(i) >= 'A')

-            {

-                throw new NumberFormatException("Not a number: " + s);

-            }

-        }

+        NumberFormat nf = NumberFormat.getIntegerInstance();

         // Parse String

-        try {

-            return nf.parseObject(s);

+        try

+        {

+            return nf.parseObject(value);

         } catch (ParseException pe) {

-            throw new NumberFormatException("Not a number: " + s + " Exception: " + pe.toString());

+            throw new NumberFormatException("Not a number: " + value + " Exception: " + pe.toString());

+        }        

+    }

+

+    protected Object parseDecimal(String value, Locale locale)

+    {

+        NumberFormat nf = NumberFormat.getNumberInstance(locale);

+        // Parse String

+        try

+        {

+            return nf.parseObject(value);

+        } catch (ParseException pe) {

+            throw new NumberFormatException("Not a number: " + value + " Exception: " + pe.toString());

         }

     }