### Question:
Filters { public static double number(Object value) { if( value == null ) return Double.NaN; if( value instanceof Number ){ Number number = (Number) value; return number.doubleValue(); } if( value instanceof String ){ String text = (String) value; try { Number number = (Number) gets( text, Number.class ); return number.doubleValue(); } catch (Throwable e) { throw new IllegalArgumentException("Unable to decode '"+text+"' as a number" ); } } if( value instanceof Expression ){ throw new IllegalArgumentException("Cannot deal with un evaulated Expression"); } throw new IllegalArgumentException("Unable to evaulate "+value.getClass()+" in a numeric context"); } Filters();  Filters(org.opengis.filter.FilterFactory2 factory); void setFilterFactory(org.opengis.filter.FilterFactory2 factory); static Filter and( org.opengis.filter.FilterFactory ff, Filter filter1, Filter filter2 ); static Filter or( org.opengis.filter.FilterFactory ff, Filter filter1, Filter filter2 ); Filter duplicate( Filter filter ); static short getExpressionType( org.opengis.filter.expression.Expression experssion ); static short getFilterType( org.opengis.filter.Filter filter ); static int asInt( Expression expr ); static String asString(Expression expr); static double asDouble(Expression expr); static T asType(Expression expr, Class<T> TYPE); static double number(Object value); static T gets(String text, Class<T> TYPE); static String puts(double number); static String puts(Object obj); static String puts(Color color); Filter remove(Filter baseFilter, Filter targetFilter); static Filter removeFilter( Filter baseFilter, Filter targetFilter ); Filter remove(Filter baseFilter, final Filter targetFilter, boolean recurse); static Filter removeFilter(Filter baseFilter, Filter targetFilter, boolean recurse); Set<String> attributeNames( Filter filter ); static String[] attributeNames(Filter filter, final SimpleFeatureType featureType); static Set<PropertyName> propertyNames(Filter filter, final SimpleFeatureType featureType); static Set<PropertyName> propertyNames(Filter filter); static Set<PropertyName> propertyNames(Expression expression,
            final SimpleFeatureType featureType); static Set<PropertyName> propertyNames(Expression expression); static boolean hasChildren( Filter filter ); static ArrayList<Filter> children( Filter filter ); static ArrayList<Filter> children( Filter filter, boolean all ); static T search(Filter filter, Class<T> filterType, String propertyName ); static String findPropertyName(Filter filter); static final int NOTFOUND; }### Answer:
@Test public void testNumber() { assertEquals(1.0, Filters.number("1.0"), DELTA); assertEquals(1, Filters.number("1"), DELTA); }