I've seen this before as well - email support to see if they have an answer. I regard this as a bug.
I have too, I also think it's a bug because I can get 4.099999999999999 for a value that is explicitly 4.1 in the data source. There are two workarounds:
- One is to do some string comparison where you test the results to see if you get the "9999", then add a little bit to the number to make it round to 1.
- The other (in v8) is to put multiple pills on the Label shelf and then use Tableau's built-in number formatting, but that won't work in a case where you're trying to create a discrete measure to use on Rows/Columns, like your example.