Remember that an Arduino UNO/Nano/Mega 'float' can only hold about 6.8 significant digits. You can say: Serial.println(myfloat, 10);
and it will show 10 digits after the decimal point, but after the first 6 or 7 digits (including the two before the decimal point), the digits will be fairly random.