The "rounding" happens because you are printing the float to two decimal places. If you want more than that, RTFM.