@PowerSoft You forgot to say which Arduino you are using, but on the Uno and others, Serial.print() does not support scientific notation, so it converts the integer part of the float/double to int32, which overflows at about 2.4e9.
Example.
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
while (!Serial);
float x = 2.1e9;
float y = 21.0e9;
Serial.println(x);
Serial.println(y);
}
void loop() {
// put your main code here, to run repeatedly:
}