zaion35 Posted February 22, 2012 at 02:31 PM Report Share #440708 Posted February 22, 2012 at 02:31 PM boa tarde preciso de ajuda em algo bem simples, mas estou apanhando. quero que ao digitar um valor no textbox, va aparecendo as casas decimais, por exemplo ao digitar: 1 exiba 0,1, digitar: 10 exiba 10,00 e assim por diante tudo isso a medidade que é realizada a digitação dos valores no textbox. Link to comment Share on other sites More sharing options...
Caça Posted February 22, 2012 at 02:57 PM Report Share #440712 Posted February 22, 2012 at 02:57 PM Tens de converter o valor para duas casas decimais, tipo Dim Valor As Double = 0.1 MsgBox(Valor.ToString("N2")) Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
zaion35 Posted February 22, 2012 at 05:13 PM Author Report Share #440752 Posted February 22, 2012 at 05:13 PM não deu certo independente do que eu digite fica sempre 0,00, estou errando aonde? o problema não é converte para o decimal o que eu quero é que ao digitar os valores as casas decimais vão se formando até alcançar o valor que eu quero fiz pelo metodo Lostfocus mas quero no momento da entrada de dados. 😁 Link to comment Share on other sites More sharing options...
Caça Posted February 22, 2012 at 05:17 PM Report Share #440754 Posted February 22, 2012 at 05:17 PM Fica a zero porque não estás a passar o valor correctamente, mostra o código. Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
zaion35 Posted February 22, 2012 at 05:29 PM Author Report Share #440756 Posted February 22, 2012 at 05:29 PM tente esse Dim Valor As Double ValorTextBox.Text = Valor.ToString(ValorTextBox.Text)("N2") depois Dim Valor As Double ValorTextBox.Text = Valor.ToString("N2", Globalization.CultureInfo.InvariantCulture) e por fim esse ValorTextBox.Text = Double.Parse(ValorTextBox.Text).ToString("c") que me da a moeda corrente, mas este é no evento lostfocus EDIT: GeSHi adicionado Link to comment Share on other sites More sharing options...
Caça Posted February 22, 2012 at 05:44 PM Report Share #440757 Posted February 22, 2012 at 05:44 PM ValorTextBox.Text = Double.Parse(ValorTextBox.Text).ToString("N2") Pedro Martins Não respondo a duvidas por PM Link to comment Share on other sites More sharing options...
zaion35 Posted February 22, 2012 at 05:55 PM Author Report Share #440758 Posted February 22, 2012 at 05:55 PM funcionou em parte, só que não permite digitar 0 zero apos digitar um número qualquer Link to comment Share on other sites More sharing options...
Andrepereira9 Posted February 22, 2012 at 06:06 PM Report Share #440761 Posted February 22, 2012 at 06:06 PM Boas Crias uma variável fora dos eventos. Depois no evento KeyPress, adicionas o valor pressionado a essa variável Dim valor_final As String Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress valor_final &= e.KeyChar End Sub No evento KeyUP, formatas a textbox, com o valor que o utilizador já tinha inserido Private Sub TextBox1_KeyUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyUp TextBox1.Text = Double.Parse(valor_final).ToString("N2") End Sub Quando voltar a entrar na textbox, limpas o valor da variavel, e metes a textbox vazia Private Sub TextBox1_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Enter valor_final = 0 TextBox1.Text = String.Empty End Sub A informática chegou para resolver problemas que antes não existiam Quem ri por último é porque está conectado a 52 Kbs. Link to comment Share on other sites More sharing options...
zaion35 Posted February 22, 2012 at 06:51 PM Author Report Share #440765 Posted February 22, 2012 at 06:51 PM Valeu andré foi show, do jeito que eu precisava 😁 😁 Link to comment Share on other sites More sharing options...
zaion35 Posted February 22, 2012 at 08:26 PM Author Report Share #440776 Posted February 22, 2012 at 08:26 PM andre como disse funconou bem, porém quando clico na caixa de texto para apagar ou tentar digitar outra sequencia da a mensagem: "Seqüência de entrada não estava em um formato incorreto" como posso tratrar esse retorno de erro? ? Link to comment Share on other sites More sharing options...
zaion35 Posted February 22, 2012 at 08:33 PM Author Report Share #440778 Posted February 22, 2012 at 08:33 PM andre consegui resolver coloquei dentro de um "try" não deu mais erro, mas uma vez obrigado pela colaboração. :smoke: Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now