Yes, Geforce FX 5800 was the first Nvidia card with floating point ALUs. It was the first Nvidia DX9 SM 2.0 compatible (SM 2.X actually) card. Nvidia kept their FP16/FP32 design (half rate FX32) in FX 6000 and FX 7000 series (PS3 GPU is based on FX 7000 series).
Geforce 4000 series was DX8 / SM 1.2 (IIRC) and Radeon 8000 series was DX8 / SM 1.4. IIRC the fixed point type in SM1 (1.0-1.4) was limited to [-8,+8] range. 12 bit fixed point math was thus enough. IIRC texture tiling (UV range) was also limited to 8 (could not repeat texture more than that as ALUs wouldn't have had range to calculate UVs).
Vertex shaders had 32 bit floating point ALUs in DX8 (I think this was mandated). Coordinate transformation needs good precision float math. Vertex shaders also had separate instruction set (and GPUs had separate vertex shader and pixel shader hardware). I remember SM 2.0 very well. It allowed 64 instructions and float math to pixel shaders. A huge improvement over previous shaders. I still remember writing hand tuned DX ASM to fit my lighting math to those 64 intruction slots. It felt like solving a puzzle
Result, running on Radeon 9700 Pro (too bad there's no better quality video available):