Read/Write Signed float from I2C EEPROM

I am trying to read/write a float number into an external I2C EEPROM with the following pieces of code but all i get is the number i saved with positive sign. how can i write negative float numbers into an external I2C EEPROM?

code to read float number

dht_temper_calib_value = (eepromRead(0,1) * 0.1); //read number and convert it to a float
dht_temper_calib_sign = (eepromRead(0,2)); //read sign flag
 
 if (dht_temper_calib_sign == 1){ //if the flag is 1 (for negative) then convert the number into a negative number
    dht_temper_calib_value = dht_temper_calib_value * (-1);
    }

code to write float number

if (analogRead(0) > 650 && analogRead(0) < 700) {  //read a button
        delay(500);
        dht_temper_calib_value = dht_temper_calib_value + 0.1; //increase value by 0.1 
        if (dht_temper_calib_value > 10){  //restrict max value to 10
          dht_temper_calib_value = 10;
        }
     }
        
 if (analogRead(0) > 350 && analogRead(0) < 450) { //read a button
        delay(500);
        dht_temper_calib_value = dht_temper_calib_value - 0.1; //decrease value by 0.1 
        if (dht_temper_calib_value < -10){ //restrict min value to -10
          dht_temper_calib_value = -10;
        }
     }
      

 if  (dht_temper_calib_value >= 0){ //check to see if the number is positive
          dht_temper_calib_sign = 0; //if so set sign flag to 0
        }
        else dht_temper_calib_sign = 1; //else if number <0 set sign flag to 1

        dht_temper_calib_value = abs(dht_temper_calib_value) * 10; //convert number into a 3 digit decimal number
        eepromWrite(0,1, dht_temper_calib_value);  //write converted number to I2c eeprom
        eepromWrite(0,2, dht_temper_calib_sign); //write sign flag to i2c eeprom

problem solved. i forgot to include a delay(15) between each write at the EEPROM

you might check - Arduino Playground - LibraryForI2CEEPROM -
it supports block writes, and has optimized waiting time between writes.