                 if (inputValue != lastValue &&
                     (Math.abs(inputValue - lastValue) >= 0.000001 ||
                      isNaN(inputValue)) || (inputField.text && 
-                    inputField.text.length != lastValue.toString().length))
+                    inputField.text.length != lastField.length))
                 {
                     var newValue:Number = checkValidValue(Number(inputField.text));
                     

     *  _value will hold uncommitted values as well
     */
    private var lastValue:Number = 0;

    /**
     *  @private

            return;

        lastValue = _value = v;
		
		var numStr:String =  v.toString();
		if (numStr.indexOf("e") >= 0) {
			var parts:Array = (new String(1 + stepSize)).split(".");
			
			if (parts.length == 2)
				numStr = v.toFixed(parts[1].length).toString();
		}
		
        inputField.text = numStr;
		lastField = numStr;

        if (sendEvent)
        {
