Comparing floats for equality is usually a bad idea as the representation is not exact.
The way out of this is to check that the difference between the two is less than some very small number, say 0.001.
Another point to think about is how you represent the frequency. The FM band goes from 88,000,000 to 108,000,000 Hz, and you chose to represent these with constants spaced 1,000,000 Hz apart.
However if you space your constants 100,000 apart they can be held in simple integer types and not floating types, as long as you remember to simply divide by 10 when you use them with your radio object.