this filter allow you specifie the number type used when converting a String to a Number instance (defaults to Double).

Code:
package com.example.client.widget.grid.filter;

import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.widget.form.NumberField;
import com.extjs.gxt.ui.client.widget.grid.filters.NumericFilter;
import com.extjs.gxt.ui.client.widget.grid.filters.RangeMenu;

public class XNumericFilter extends NumericFilter {

    private Class<?> type;
    
    public XNumericFilter(String dataIndex) {
        super(dataIndex);

        fixPropertyEditorType();
    }

    /**
     * Specifies the number type used when converting a String to a Number
     * instance (defaults to Double).
     * 
     * @param type
     *            the number type (Short, Integer, Long, Float, Double).
     */
    public void setPropertyEditorType(Class<?> type) {
        this.type = type;
    }

    private void fixPropertyEditorType() {

        final RangeMenu rangeMenu = getRangeMenu();
        
        rangeMenu.addListener(Events.Render, new Listener<BaseEvent>() {
            @Override
            public void handleEvent(BaseEvent be) {

                getNumberFieldLt(rangeMenu).setPropertyEditorType(type);
                getNumberFieldGt(rangeMenu).setPropertyEditorType(type);
                getNumberFieldEq(rangeMenu).setPropertyEditorType(type);
            }
        });
    }

    private native NumberField getNumberFieldLt(RangeMenu rangeMenu) /*-{
        return [email protected]::lt;
    }-*/;

    private native NumberField getNumberFieldGt(RangeMenu rangeMenu) /*-{
        return [email protected]::gt;
    }-*/;

    private native NumberField getNumberFieldEq(RangeMenu rangeMenu) /*-{
        return [email protected]::eq;
    }-*/;

    private native RangeMenu getRangeMenu() /*-{
        return [email protected]::rangeMenu;
    }-*/;
}