nil should only be used with pointers. It indicates that the pointer is not set to a value.
Floats and other types of C just matter. (Strictly swims and doubles, maybe it can have values ββlike NaN, but it's harder to manage)
In Objective-C, you can put a float in the NSNumber class. An object of this class refers to a pointer, so a variable of type NSNumber * may be nil.