Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

M. Alberto

Inserir somente números em um campo

Recommended Posts

Como faço para este campo abaixo se torne obrigatório apenas a inserção de números como nos exemplos abaixo.

 

<input type=text name='trocopara' id="trocopara" size=5 value="0" style="width: 176px; height: 22px;" class="StyleQto01"></font></td>

 

Exemplos:

90.00

87.35

78.85

 

O usuário poderá inserir somente números, porém a casa decimal será automaticamente criada através do . ( ponto ) e não vírgula.

 

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode alterar o atributo type de "text" para "number" dessa forma o usuario so podera inserir números...POREM, ele nao ira conseguir inserir virgulas e pontos como você mostrou no exemplo.

 

A melhor solução sem duvidas é usar um plugin do jquery chamado Jquery Mask, n sei até onde vai seu conhecimento com programação e javascript mas segue o exemplo abaixo (não é dificil)

 

<script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.js"></script>
 
<script>
        $(document).ready(function(){
                 $('#trocopara').mask('00.00');
         });
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por eduardohaag
      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 Sub End 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?
    • Por eduardohaag
      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 Sub End 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?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.