It's not B+, it's the intel CPUs. And the floats used on these CPUs are standard (an IEEE standard). For higher accuracy there are double precision floats, but I doubt the ZX81 had such floats :)
You must also note that the float to string conversion will only take into account 6 decimals (meaning by example that "Print Str(1.0/3)" displays "0.333333"), but internally the number of decimals is slightly higher.
You must also note that the float to string conversion will only take into account 6 decimals (meaning by example that "Print Str(1.0/3)" displays "0.333333"), but internally the number of decimals is slightly higher.