meta_query: using BETWEEN with floats and/or casting to DECIMAL
You can filter generated SQL and add precision parameters that you need. Enable filters for get_posts() by adding following to query: ‘suppress_filters’ => false, And: add_filter(‘posts_where’,’cast_decimal_precision’); function cast_decimal_precision( $where ) { return str_replace(‘DECIMAL’,’DECIMAL(10,3)’,$where); } Update With Jan’s suggestion: add_filter(‘get_meta_sql’,’cast_decimal_precision’); function cast_decimal_precision( $array ) { $array[‘where’] = str_replace(‘DECIMAL’,’DECIMAL(10,3)’,$array[‘where’]); return $array; }