[Resolvido] Mascara de entrada com casas decimais
Olá tenho esse código que encontrei na internet para formatar um textbox como moeda enquanto digito no mesmo.
Public Class utils
''' <summary>
''' Método que formata para moeda o conteúdo de um TextBox
''' </summary>
''' <param name="txt">Controle a ser formatado</param>
''' <remarks></remarks>
Public Shared Sub TextBoxMoeda(ByRef txt As TextBox)
Dim n As String = String.Empty
Dim v As Double = 0
Try
n = txt.Text.Replace(",", "").Replace(".", "")
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 = String.Format("{0:N}", v)
txt.SelectionStart = txt.Text.Length
Catch ex As Exception
MessageBox.Show(ex.Message, "TextBoxMoeda")
txt.Text = ""
End Try
End SubEnd Class
Porém o código formata com 2 casas decimais, eu necessito que a formatação seja com 3 casas decimais.
Alguém tem ideia do que posso mudar no código?
Discussão (2)
Carregando comentários...