Like on windows it shows say 1.4mb I wanted to get that, or close to it. Obviously as accurate to the file size as I could.
IMHO the:
will result to value in range 0..1048575, not 0..99. Same for others.
I sort of get that which is what my little bit of string manipulation was doing, at least so I thought. Taking the first two digits of the mod of the divide to then get the "." aspect. But I think @GetMem's function does this better, though I'm not actually sure what the formatting string actually does yet 
The
GetMem function does it right, not better.
To correct your math, the
md should be normalized to the amount of the divisor (KB,MB,GB) before taking the digits.
P.S. Just try both functions with the value 1048576+1048575