FORMATAR VALOR EM DINHEIRO

RICKSOUSA 05/04/2011 10:25:15
#370452
estou com um problema, quando eu tento colocar no campo mil reais e aperto enter ele mostra um real

exemplo:

se eu tentar colocar o ponto depois do numero 1 ele transforma em virgula e não deixa eu colocar mais de dois zeros,
e se eu colocar 1000,00 ele converte 1,00.

na verdade não esta deixando passar de mil reais só aceita até 999,00

o codigo esta assim:

[txt-color=#e80000]atxtDinheiro.Text = FormatarDec(atxtDinheiro.Text, 2)[/txt-color]

ALTAIR148 05/04/2011 10:31:12
#370453
Resposta escolhida
Não testei, mas creio que assim funciona

atxtDinheiro.Text = format(atxtDinheiro.Text, [Ô]###.###.##0.00[Ô])

Abraços....
LLAIA 05/04/2011 10:33:42
#370454
E qual é o código dessa função FormatarDec ?

Também, para formatar em moeda vc não precisar informar ponto na parte inteira, somente na parte fracionária pois é o padrão internacional.

Ex.:

nValor = Format(1000, [Ô]0.00[Ô]), vai sair: 1.000,00
GUTOTEC 05/04/2011 11:18:19
#370463
Citação:

Private Sub txtvalor_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
On Error Resume Next
Txtvalor = FormatNumber(Txtvalor, 2)
If Txtvalor = [Ô][Ô] Then
Txtvalor = [Ô]0,00[Ô]
CmdGravar.SetFocus
Exit Sub
Else
CmdGravar.SetFocus
End If
End If
End Sub

Private Sub txtvalor_KeyPress(KeyAscii As Integer)
sQtdeVirgulas = Split(Txtvalor, [Ô],[Ô])
If UBound(sQtdeVirgulas) > 0 Then
If KeyAscii = 44 Or KeyAscii = 46 Then
MsgBox [Ô]ERRO DE DIGITAÇÃO[Ô], vbCritical, [Ô]ERRO[Ô]
KeyAscii = 0
End If
End If
If Not IsNumeric(Chr(KeyAscii)) And KeyAscii <> 46 And KeyAscii <> 44 And KeyAscii <> 13 And KeyAscii <> 8 Then KeyAscii = 0
End Sub

Private Sub txtvalor_LostFocus()
If Txtvalor = [Ô][Ô] Or Left(Txtvalor, 1) = [Ô].[Ô] Or Left(Txtvalor, 1) = [Ô],[Ô] Then
Txtvalor = [Ô]0,00[Ô]
Else
Txtvalor = FormatNumber(Txtvalor, 2)
End If
End Sub

FNANDOOD 05/04/2011 13:37:50
#370475
ESCOLHA A OPÇÃO QUE ASSIM FUNCIONA:


Private Sub Command1_Click()
Dim VALOR As Currency
VALOR = [Ô]1000,00[Ô]
Print VALOR
Print Format(VALOR, [Ô]CURRENCY[Ô])
Print Format(VALOR, [Ô]STANDARD[Ô])
End Sub
Tópico encerrado , respostas não são mais permitidas