Hi Nitya,
NS-3 does not do any magic converting integers to floats. It follows the rules of C++. The fact that you see uintXX_t used that often in NS-3 is that only an integer is required, not decimal.
uintXX_t can not store decimal form. It is an unsigned integer.
You can use double or floats or any other data type for local variables.
However, if you want to transmit this value (e.g. send it with a packet) you need to re-format it to unsigned integer.