Best thing to use StrToFloatDef function (Like StrToIntDef) which catches the EConvertError and returns the default value. I checked and FreePascal has this function