Even simpler, for just one value use the built-in eeprom read/write float functions:
#include <avr/eeprom.h>
float x=1.234;
void setup()
{
//read value of x from eeprom address 0 upon startup
x=eeprom_read_float((const float*)0);
// ...
}
void loop()
{
// if user pushes the "Save" button, save the value of x in eeprom locations 0 to 3
if (digitalRead(13) == HIGH)
eeprom_write_float((float *)0, x);
//...
}