As Parker said, you need to use setSingleStep() so that you do not increment by 1.0.
More to the point though, there is no support for "exclusive" ranges, i.e., you cannot give a range 0 to 1.0 unless you want to be able to use the values 0 and 1.0 as well.
Instead, once you have decided on your step size, you could potentially set your min and max like this:
minimum = exclusive_minimum + step_size
maximum = exclusive_maximum - step_size
However this could be undesirable since the user can choose values between the step sizes by typing directly into the spin box. So a better solution is to choose how many decimal places the spinbox should be accurate to, and set the minimum and maximum to the smallest and largest numbers nearest the exclusive_minimum and exclusive_maximum values.
For example, if exclusive_minimum is 0.0 and exclusive_maximum is 1.0, and you are accurate to five decimal places, then set minimum to 0.00001 and maximum to 0.99999.