This is more or less a style guide question. I'm curious if anyone is aware of any official style guides that deal with this problem well. I tried to come up with a general approach but I'm curious to see other people's opinions!
Ultimately this is about optimizing two requirements:
- Readability
- String size (shorter the better!)
The requirement around the strings being relatively short is due to the fact that the strings could be used on chart labels where space is at a premium.
Here are some of the cases I can see and my suggestion for each:
1. Range with a single unit:
'factor out' the unit, in other words only show the unit once on the outside of the range
ex) 5-6% or $10-15
2. Range with magnitude suffix (K for thousands, M for million, B for billion)
Can't 'factor out' the suffix as above because it leads to ambiguity (for example if we write 5-10k does that mean 5,000-10,000 or 5-10,000?)
ex) 5k-10k or 950k-1M
3. Range with unit AND magnitude suffix:
ex) $5k-10k
ex) 2k-3k% -> pretty messy in this case, the 'k%' almost looks like a new unit! 2,000-3,000% looks much better but takes much more space. I've seen use of 2-3,000% (but that is again also ambiguous)
4. Ranges with negative values:
Things get a bit messy when a dash is used in conjunction with a negative sign
ex) -15% - -8%
ex) -15% to -8% -> much nicer but for visual consistency you'll need to use 'to' everywhere, and it's worse in the case where no negative values exist (5-6% vs. 5 to 6%)
----- Experiment:
I did a quick visual experiment to see all the various cases, the green checkbox marks the style which I find best in each case:
