The value is this one...Julian Day. 2455398.427
When using float variables, precision is limited to about 7 decimal digits which is less than you have in your Julian Day example. As such this precision issue you observed is to be expected.
One possible workaround is to store days and time in separate variables. You can use one variable of type "long" for days and another "long" variable for seconds (rather than using days and fractions of a day combined in a float).
Another approach is to offset the Julian day number to an epoch closer to real time (e.g. January first 2010). Julian day numbers would then be smaller and so possibly not subject to the precision limitation of floats. This will only work however for a limited range of dates (you need to consider min and max date for your application).