Если пользователь вводит точку или запятую, то это нужно заменить на правильный символ-разделитель. Ну и удобно, чтобы пользователь не заморачивался и не гадал, какой символ нужно вводить.
procedure TfmEditObject.Edit1KeyDown(Sender: TObject; var Key: Word;
var KeyChar: Char; Shift: TShiftState);
begin
if (KeyChar = '.') or (KeyChar = ',') then
KeyChar := FormatSettings.DecimalSeparator;
end;
На Windows это работает. А вот в Android проблема - вводится и точка, и запятая. Замены не происходит.