Yes, when you send data, the value field accepts multiple types: string | number | boolean. Your calculation num_pulses_per_sample / pulses_per_gallon will produce a JavaScript number (which includes floating-point values), and TagoIO will store it exactly as calculated.
In some cases, floating-point operations may generate long decimal values. If you want to limit the number of decimal places, you can use the built-in toFixed() method.