Showing real values on UART-PC software
You can send any data type you like. The trick is to send the type along with the value so that it can be decoded on the other side. Send a byte value containing the type first (e.g. 0x00 is unsigned char, 0x01 is signed char, 0x02 is unsigned short, etc.) and then follow it with the actual value data.

0x00 0x12 0x1c 0x1f 0x85 0xeb 0x51 0xb8 0x1e 0x09 0x40
    |
    V
18, 3.14