How to define ranges for integer/decimal/float fields in D7? I would like to add an integer/decimal/float field to a content type where users can define ranges for these numbers as two separate fields.
Like when adding a Date field, and being able to add an end date as a separate field with a little checkbox:

 (So the output will be like this: 2011 - 2012.)

Use case: users would like to define approximate numbers, they don't know data exactly, for example:

Stream bed's average depth: 0.3 m - 1 m
Stream bed's average width: 1 m - 2 m  

(m would only be a suffix)
etc.
I needed the same functionality for a project I am working on.

I have created a sandbox project http://drupal.org/sandbox/thepearson/1842424 which I'll be working on hopefully releasing as contrib. I still need to do some more testing, tidy up and documentation. 

Obviously it's in sandbox so, use at your own risk. Currently supports int and float. Supports defining min and max limits on both start and end values along with prefix, suffix and range indicator. ie:

[prefix] [min] [indicator] [max] [suffix]
[$ ]     [123] [&lt;-----&gt;]   [157] [per person]


alnum type is there but limit validation seems a bit buggy. I would recommend not using alnum until more testing is done.

It's also supports some hook_info/hook_info_alter functions for you to either define your own range datatypes, or change the existing ones. Look at the sub-module range_integer to see how it's done.

If you find any bugs please raise bug reports at drupal.org.