@Thiago,
Pode usar essa função abaixo, eu uso ela pra formatar como moeda no formato 999.999,99, comentei as duas primeiras linhas pra que tu possa ver como ela funcionava, e alterei a terceira linha do replace para usar a vírgula aceitando 5 casas decimais.
function formatarValor(p_elemento){
g_obj_data = p_elemento;
setTimeout("executarFormataValor()", 1);
}
function executarFormataValor(){
l_valor = g_obj_data.value;
l_valor = l_valor.replace(/\D/g,"") ;
//l_valor = l_valor.replace(/(\d)(\d{8})$/,"$1.$2");
//l_valor = l_valor.replace(/(\d)(\d{5})$/,"$1.$2");
l_valor = l_valor.replace(/(\d)(\d{5})$/,"$1,$2");
g_obj_data.value = l_valor;
}