This isn’t pretty, but given that there are only 16 possible fractional strings, you could do this::
fractionStrings = ['.0', '.0625', '.125', '.1875', '.25', '.3125', '.375', '.4375', '.5', '.5625', '.625', '.6875', '.75', '.8125', '.875', '.9375']
...
SER2.send('Temperature is ' + str(t_whole) + '.' + fractionStrings[t_frac_whole]...
Congratulations on getting that to work, I went through some pain getting a telit to talk to a string of TMP100s.