Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou com um problema em colocar o foco no lado direito-->
Tenho a seguinte situação, o usuario digita o numeros e a virgula e o ponto serão acrescentados automaticamente.
Ex: 1,23 e qndo digita o 4, ele joga o 4 na frente do 1. Ficando 41,23. Essa virgula é colocada automaticamente, desta maneira:
private void FormataMoeda(TextBox campo, int tammax, KeyEventArgs tecla, int casaDecimal)
{
//string vr = Limpar(campo.Text, "0123456789");
string vr = objBllUtilitarios.TiraLixo(campo.Text);
int tam = vr.Length;
int dec = casaDecimal;
if (tam < tammax && tecla.KeyValue != 8) { tam = vr.Length; }//{ tam = vr.Length + 1; }
if (tecla.KeyValue == 8) { tam = tam - 1; }
if (tecla.KeyValue == 8 || tecla.KeyValue >= 48 && tecla.KeyValue <= 57 || tecla.KeyValue >= 96 && tecla.KeyValue <= 105)
{
if (tam <= dec) { campo.Text = vr; }
if ((tam > dec) && (tam <= 5))
{
if (tam >= 3)
{
campo.Text = vr.Substring(0, tam - 2) + "," + vr.Substring(tam - dec, tam-1);
}
else
{
campo.Text = vr.Substring(0, tam - 2) + "," + vr.Substring(tam - dec, tam);
}
}
}
}
}
Vocês sabem me orientar de como colocar o valor desta maneira 1,234 e nao 41,23? Ou tem algum método que já faz isso para me passar?
Abraços.
Carregando comentários...