Ok vamos lá. Isto vai depender da localização (locale) do browser do usuário.
Se seu browser estiver em português brasileiro ao inserir o número com vírgula o mesmo vai enteder a mesma como separador decimal, mas se inserir o mesmo número com ponto ele irá ignorar o ponto e considerará apenas os caracteres numéricos, o que resulta num número inteiro.
Por exemplo, na locale pt_BR:
[list]111.11 é gravado 11.111 (onze mil, cento e onze)[/*:m][/list:u]
Se você acessar a mesma URL do formulário que insere os números passando o parâmetro de locale en_US (/seudominio/create?lang=en_US) o resultado será o inverso do citado acima. Experimente!
Uma boa maneira de se tratar isto é utilizando client-side scripting. Dê uma olhada
neste plugin do JQuery, com ele você pode forçar a formatação automática do campo, inclusive de acordo com a localização do usuário.
Outra forma, não muito elegante, seria forçar a localização da aplicação para pt_BR e limitar a entrada de caracteres nestes textfields.
Espero ter ajudado!