You might be able to calculate it in C++ using doubles.
If you don’t wanna go into C++ you could use a Round node and compare the floating point end result with the input of the round using a Nearly Equal node with your own error tolerance. Hook the boolean outcome of the Nearly Equal node in a Select Float node. A of the select node should be the result of the Round and B should be the result of the Floor. I’m not a 100% sure this will work, let me know how it goes
FWIW, FDateTime has functionality to do this. I don’t know how much of it is exposed to Blueprints out-of-the-box, but you can always add a UFUNCTION to expose anything that may be missing.