Hi Jason,
The thing preventing decimal output in the reason string, and also the notifier text is the available variable types.
We don't have a numerical type "float" to use, and although we could manipulate the output with string macros, the <snmp-device-thresholds> section won't accept strings, and errors even though the string variable is in the comment following the actual threshold.
You need to depend on the threshold firing and letting you know which condition is exceeded, then check the device status for the actual reading, as it stands.