Float numbers work fine. How Arduino handles them is pretty much like any other number, just put a variable in your code and give it "float" type.
As for printing to the Serial Monitor, just use Serial.print() like you would with an int or any other variable.
How Arduino actually handles floats could be answered in terms Arduino core code, avr-libc library code, the build process as implemented by Compiler.java, internal gcc compiler details, numerical formats (mantissa, exponent, normalization, rounding strategies, etc), binary data representations, logic circuitry, transistor-level CMOS logic implementation, analog characteristics of digital logic circuitry, propagation of electrons and changes in their energy states, electric and magnetic fields, semiconductor material physics, sub-atomic particles, and as-yet-to-be-discovered scientific understanding of matter and energy (eg, "grand unified theory"). But if you're at a beginner level, where you're not sure how to print a float (exactly the same as any other type of variable), learning exactly how Arduino handles floats would only distract you from learning the most basic skills to simply make use of them in your sketch.