I'm attempt to convert int value to float with preprocessing "Custom multiplier" function.
Item type configuration - float, custom multiplier value 0.1.
Originally, item value fetched by SNMP, net-snmp return ASN_INTEGER value, which converted to STRING in zbx_snmp_set_result() and passed up.
Later, when server process preprocessig operations, STRING converted to UINT64 with zbx_variant_set_numeric() and multiplied to 0.1 value. Incorrect result (without fraction) stored in tables as FLOAT.
current (bad) - 248 * 0.1 = 24.00000
should be - 248 * 0.1 = 24.80000