 
         const number:Number = Number(value);
 
+        if (isNaN(number))
+        {
+            if (g11nWorkingInstance)
+            {
+                // Have g11nFormatter.lastOperationStatus property hold
+                // ILLEGAL_ARGUMENT_ERROR value.
+                (g11nWorkingInstance as
+                    flash.globalization.NumberFormatter).fractionalDigits = -1;
+            }
+            else
+            {
+                fallbackLastOperationStatus
+                = LastOperationStatus.ILLEGAL_ARGUMENT_ERROR;
+            }
+            return errorText;
+        }
+
         if (g11nWorkingInstance)
         {
-            return (g11nWorkingInstance
-                as flash.globalization.NumberFormatter).formatNumber(number);
+            const g11nFormatter:flash.globalization.NumberFormatter
+                = (g11nWorkingInstance as flash.globalization.NumberFormatter);
+
+            const retVal:String = g11nFormatter.formatNumber(number);
+
+            return errorText && LastOperationStatus.isFatalError(
+                        g11nFormatter.lastOperationStatus) ? errorText : retVal;
         }
 
         if ((localeStyle === undefined) || (localeStyle === null))
         {
             fallbackLastOperationStatus
                                 = LastOperationStatus.LOCALE_UNDEFINED_ERROR;
-            return undefined;
+            return errorText;
         }
 
         fallbackLastOperationStatus = LastOperationStatus.NO_ERROR;
 
-        return fallbackFormat(number);
+        return number.toFixed(properties.fractionalDigits);
     }
 
     [Bindable("change")]

     *  character is a character that has a Space Separator (Zs) property
     *  in the Unicode Character Database (see http://www.unicode.org/ucd/).
     *
     *  <p> If the numeric digit is preceded or followed by a
     *  plus sign '+' it is treated as a non-whitespace character.
     *  The return value is <code>NaN</code>.
     *  </p>
     *
     *  <p> See the description of the parse function for more information
     *  about number parsing and what constitutes a valid number.
     *  </p>
     *

     *  starting index for the number within the string, and the index
     *  of the first character after the number in the string.</p>
     *
     *  <p>If the string does not contain a number, the value property of
     *  the NumberParseResult is set to <code>NaN</code> and the
     *  <code>startIndex</code> and <code>endIndex</code> properties are
     *  set to the hexadecimal value <code>0x7fffffff</code>.
