use %02x in hex output
support float fallback