diff --git a/apachesolr_views.views.inc b/apachesolr_views.views.inc
index c3608c4..8911e5e 100644
--- a/apachesolr_views.views.inc
+++ b/apachesolr_views.views.inc
@@ -324,13 +324,16 @@ function apachesolr_views_views_data() {
           ),
         );
       }
-      elseif ($field['type'] == 'number_decimal') {
+      elseif (in_array($field['type'], array('number_decimal', 'number_float', 'formatted_decimal', 'formatted_float'))) {
         $data['apachesolr_' . $base_table][apachesolr_index_key($field)] = array(
           'title' => t($field['widget']['label']),
           'help' => t('CCK Mapping for @fieldname', array('@fieldname' => $field['field_name'])),
           'argument' => array(
             'handler' => 'apachesolr_views_handler_argument',
           ),
+          'filter' => array(
+            'handler' => 'apachesolr_views_handler_filter_numeric',
+          ),
         );
       } // end: if
     }
