A few remarks:
Use a TFloatSpinEdit instead of a TEdit. It is designed for what you seem to want.
It has a Value property (type Double), so you do not need to convert text to double yourself.
If the spinners of the control bother you, you can hide them (IIRC).
Alternatively use a TMaskEdit, so you have absolute control over the input.
With the correct mask, a user cannot even paste non-numbers into the control.
Instead of setting Application.UpdateFormatSettings to false, you can also use the string to floeat conversion routines with a TFormatSettings parameter.
Bart