Ir para conteúdo

Arquivado

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

tuhajo

formatação antes da vírgula

Recommended Posts

Boa tarde!

 

Como faço para formatar um número antes da vírgula. Só poder colocar 2 números antes da vírgula e 2 números depois da vírgula.

Ex: se a pessoa digitar 1234 ou 1.234, formatar para 12,34.

 

Grata.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vai ter que criar uma funçãozinho usando Mid

 

Como vou usar a função mid sem saber a quantidade de caracteres que a pessoa vai digitar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o que ? Dinheiro ??

 

Tem que ser somente 2 números antes da vírgula ?

 

Você pode usar o:

 

FormatNumber(1234,"2")

Onde 2 é o numero de casa decimais depois da virgula.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o que ? Dinheiro ??

 

Tem que ser somente 2 números antes da vírgula ?

 

Você pode usar o:

 

FormatNumber(1234,"2")

Onde 2 é o numero de casa decimais depois da virgula.

 

 

Eu fiz isso... mas o problema é que ele coloca 1234,00 e não quero isso. Quero que ele transforme em 12,34. Entendeu?

Ele só pode permitir que tenha 2 casas antes e 2 casas depois da vírgula.

 

Grata.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Haa então você tem que tratar isso, você só pode deixar o usuário digitar 4 digitos. Maxlenght = 4.

 

Faça isso aqui no campo:

 

<input type='text' size='5' maxlenght='4' onkeypress='virgula(this)'>

Cria uma função javascript assim:

 

function virgula(obj) {
switch (obj.value.length) {
        case 2:
                obj.value = obj.value + ",";
                break;
	}
}

E já era, dae você pega o valor, e nao precisa tratar no ASP mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa o FormatCurrency - A função FormatCurrency retorna uma expressão formatada como um valor monetário usando o símbolo de moeda definida no painel de controle do computador.

 

Sintaxe

FormatCurrency(Expression[,NumDigAfterDec[,

IncLeadingDig[,UseParForNegNum[,GroupDig]]]])

 

<%= FormatCurrency(PrecoUnitario, 2) %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

simples cara, só usar a logica

var = "1234567890"
Function formatNumber2(str)
	Dim lenStr
	Dim saida
	lenStr = Len(str)
	If lenStr <= 2 Then
		str = Right("000" & str, 3)
		lenStr = Len(str)
	End If
	If lenStr > 2 Then
		saida = Mid(str, 1, lenStr - 2) & "," & Mid(str, lenStr - 1)
	End If
	formatNumber2 = saida
End Function
Response.Write formatNumber2(var)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Haa então você tem que tratar isso, você só pode deixar o usuário digitar 4 digitos. Maxlenght = 4.

 

Faça isso aqui no campo:

 

<input type='text' size='5' maxlenght='4' onkeypress='virgula(this)'>

Cria uma função javascript assim:

 

function virgula(obj) {
switch (obj.value.length) {
        case 2:
                obj.value = obj.value + ",";
                break;
	}
}

E já era, dae você pega o valor, e nao precisa tratar no ASP mais.

 

 

Eu já tinha colocado maxlenght='4', agora fiz o que falou mas não funcionou. Ele não colocou a vírgula.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certeza cara ??

 

Pq eu testei antes aqui e funcionou isso dae do javascript.

Porém, esqueci de falar, muda o Maxlenght para 5, visto que tem a virgula neh.

Veja se o nome da funcao você colocou certo, e tals.

 

E coloca a função javascript, entre as tags HEAD:

 

<script type='text/javascript'>
function virgula(obj) {
switch (obj.value.length) {
        case 2:
                obj.value = obj.value + ",";
                break;
        }
}
</script>

<input type='text' name='numero' maxlenght='5' onkeypress='virgula(this)'>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certeza cara ??

 

Pq eu testei antes aqui e funcionou isso dae do javascript.

Porém, esqueci de falar, muda o Maxlenght para 5, visto que tem a virgula neh.

Veja se o nome da funcao você colocou certo, e tals.

 

E coloca a função javascript, entre as tags HEAD:

 

<script type='text/javascript'>
function virgula(obj) {
switch (obj.value.length) {
        case 2:
                obj.value = obj.value + ",";
                break;
        }
}
</script>

<input type='text' name='numero' maxlenght='5' onkeypress='virgula(this)'>

 

Funcionou!!! Estava fora do HEAD!!!

Obrigada pela ajuda e pela atenção!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

gera algum erro ?!?!?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Certeza cara ??

 

Pq eu testei antes aqui e funcionou isso dae do javascript.

Porém, esqueci de falar, muda o Maxlenght para 5, visto que tem a virgula neh.

Veja se o nome da funcao você colocou certo, e tals.

 

E coloca a função javascript, entre as tags HEAD:

 

<script type='text/javascript'>
function virgula(obj) {
switch (obj.value.length) {
        case 2:
                obj.value = obj.value + ",";
                break;
        }
}
</script>

<input type='text' name='numero' maxlenght='5' onkeypress='virgula(this)'>

 

Funcionou!!! Estava fora do HEAD!!!

Obrigada pela ajuda e pela atenção!!!

 

 

Deu um probleminha... mas a culpa foi minha... não soube explicar!!!

Se eu colocar 1,23 é pra deixar assim mesmo...

Quando eu coloco 1,23... ele retorna 1,,2. Só neste caso que não está funcionando.

Se eu colocar 2, ele deixa assim mesmo... ou se eu colocar 123... ele retorna 12,30... aí tá funcionando. É pra ser assim mesmo.

 

Pra ser mais clara, ele não funciona qdo coloco vírgula. Ele insere 2 virgulas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

EDIT:

 

Agora entendi.

Então digita a virgula.

Mais facil ainda, pq dae a pessoa coloca a virgula onde ela quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique sua funcao para inserir a virgula, dá uma ohada neste link

você pode usar as funcoes do ASP como formatnumber e formatcurrency onde você tambem pode configurar o numero de casas decimais e coloke o Session.LCID = 1046 na pagina

Compartilhar este post


Link para o post
Compartilhar em outros sites

EDIT:

 

Agora entendi.

Então digita a virgula.

Mais facil ainda, pq dae a pessoa coloca a virgula onde ela quer.

 

 

Mas esse é o problema... se eu digitar 1,23, ele retorna 1,,2. Ele insere 2 virgulas. Então nesse exemplo que me passou, eu não posso digitar virgula.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique sua funcao para inserir a virgula, dá uma ohada neste link

você pode usar as funcoes do ASP como formatnumber e formatcurrency onde você tambem pode configurar o numero de casas decimais e coloke o Session.LCID = 1046 na pagina

 

 

Não entendi como posso usar essa função no meu caso.

 

Meu problema é o seguinte:

1 - Eu posso digitar qq número até 5 caracteres, tendo virgula ou não.

2 - Ele terá que transformar no máximo em 2 casas antes e 2 casas depois da virgula

3 - Se eu digitar 1234, retorna 12,34...

se eu digitar 1,23, retorna 1,23 mesmo...

se eu digitar 1, retorna 1,00

se eu digitar 123, ele retorna 12,30

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse campo é tipo moeda ou somente numero

você fazendo isso FormatNumber(seu_numero,2)

o k ele retorna

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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