LIMITAÇÃO DE 2 CASAS DECIMAIS P/ CAMPOS MONETARIOS

 Tópico anterior Próximo tópico Novo tópico

LIMITAÇÃO DE 2 CASAS DECIMAIS P/ CAMPOS MONETARIOS

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#487608 - 12/03/2019 15:53:05

SIDSIL
SANTOS
Cadast. em:Março/2010


Boa Tarde Amigos

Estou me aventurando no VB.NET e ainda esbarro em situações talvez basicas.
Eu gostaria de saber como posso permitir que um valor monetario permita apenas a digitação de 2 casas decimais.

No VB6 eu conseguia fazer isso com o KeyPress.

Eu gostaria de permitir apenas a digitação de 2 casas decimais e que fosse barrada a digitaação da terceira casa decimal e isso antes do evento Lost_Focus.
Me disseram que com o MaskEdit isso seria mais facil, porem estou efetuando manutenção em um sistema e o campo em questao é um TextBox que eu não posso mudar.

Obrigado




#487609 - 12/03/2019 16:02:47

JABA
CABO FRIO
Cadast. em:Agosto/2005


Só adaptar:

www.youtube.com/watch?v=BRZwJt47xoM

_______________________________________________________________________________________________

Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento?



#487660 - 14/03/2019 18:51:31

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


ainda nao teve nenhum manifesto, vamos mandar prontinho
  
    Private Sub txtPreco_TextChanged(sender As Object, e As EventArgs) Handles txtPreco.TextChanged
        TextBoxMoeda(txtPreco)
    End Sub

    Public Sub TextBoxMoeda(ByRef txt As ComponentFactory.Krypton.Toolkit.KryptonTextBox) adeque ao textbox padrao ou objeto q estiver usando aqui......eu estou usando um componente.....
        Dim n As String = String.Empty
        Dim v As Double = 0
        Try
            n = txt.Text.Replace(",", "").Replace(".", "").Replace("R$", "")
            If n.Equals("") Then n = "000"
            n = n.PadLeft(3, "0")
            If n.Length > 3 And n.Substring(0, 1) = "0" Then n = n.Substring(1, n.Length - 1)
            v = Convert.ToDouble(n) / 100
            txt.Text = FormatCurrency(String.Format("{0:N}", v))
            txt.SelectionStart = txt.Text.Length
        Catch ex As Exception
            MessageBox.Show(ex.Message, "TextBoxMoeda")
        End Try
    End Sub





#487671 - 15/03/2019 12:11:39

OMAR2011
MONTES CLAROS
Cadast. em:Setembro/2011


NICKOSOFT,como limpar a caixa de texto?



#487678 - 15/03/2019 15:52:23

SIDSIL
SANTOS
Cadast. em:Março/2010


Boa tarde NICKOSOFT

Vou experimentar e depois digo o que acontecem.

Obrigado e um Abraço



#487686 - 16/03/2019 07:35:30

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


Citação:
:
NICKOSOFT,como limpar a caixa de texto?

totalmente nao limpa, sempre vai ta la R$ 0,00
pode mudar a função pra nao fazer esse preenchimento



#487733 - 18/03/2019 17:58:16

SIDSIL
SANTOS
Cadast. em:Março/2010


Boa Tarde

Usei a sub-rotina que voce envio e funcionou.

Muito obrigado e um abraço.



#487734 - 18/03/2019 18:11:43

SIDSIL
SANTOS
Cadast. em:Março/2010


No momento estou usando um TextBox para digitar os valores e agora preciso limitar a digitação em 2 casas decimais apenas.

Um Abraço



#487735 - 18/03/2019 18:12:38

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Algo como:

txtMeuValor.Text = Convert.ToDecimal(txtMeuValor.Text).ToString("C", CultureInfo.CurrentCulture)



_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#487736 - 18/03/2019 18:20:40

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
A vantagem de usar a cultura corrente, é que os parâmetros de tudo(incluindo separador de casas decimais) está nos parâmetros de cultura do windows e é configurável.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#487738 - 18/03/2019 19:36:23

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


Citação:
:
Boa Tarde

Usei a sub-rotina que voce envio e funcionou.

Muito obrigado e um abraço.

o mesmo codigo serve, basta entende-lo q vai ver q é simples.....



 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário