Hello, I am new here!

I am having a problem with Format. The line
Caption := Format('%0.2f', [7.5 * 1000000000]);
should return 7500000000.00. But it does not. It returns 7500000256.00 instead. And I just don't get why.
The weird thing is, when I use a 7.6 or a 7.3 for example, the outcome is correct. When using .5 numbers the only times it's right, is with a 0.5 or a 1.5 or a 2.5 or a 3.5. Any other .5 number will somehow mess with the outcome. FloatToStr or FloatToStrF will give the same results respectively.
I'm on Lazarus 4.8.0.0 and Free Pascal 3.2.2 under Linux Mint 22.3, 64 Bit.
But just for reference I also tried it with Win2000 Pro 32 Bit and Win11 64 Bit, with both the exact same results.
Does anybody know what the issue is, or how I could resolve this?