Formatação Número Decimais

1,384 views
Skip to first unread message

Oraculum

unread,
Jan 28, 2010, 1:35:33 AM1/28/10
to Django Brasil
Olá pessoal, estou com um formulário com dois botões ao clicar no
primeiro faço a validação dos campos no form, acontece que ele sempre
indica o meu campo de valor como invalido, criei uma mascara em
javascript que formata os números automaticamente como 0,000.00
acontece que quando vou converter esse número em decimal o python
levanta uma exception para a virgula (separador de milhar) eu fiz uma
gambiarra assim:


request.POST['valor'] = Decimal(request.POST['valor'].replace
(',', ''))

O problema é que nesse formulario o usuario ao clicar no primeiro
botão o sistema mostra esse valor em uma tabela ao lado e ao exibir lá
ele está indo sem formatação, ou seja como: 0000.00 gostaria de saber
como posso fazer essa conversão sem ter que precisar de dar um replace
na "," (virgula) ? ou alguma outra solução mais elegante?

BRUNO FRANK SILVA CORDEIRO

unread,
Jan 28, 2010, 5:00:57 AM1/28/10
to django-brasil
Na verdade o Python não gosta da virtula :) ou seja o valor que você deve passar pra ele é
sem esse separador de milhar e com ponto no separador decimal.

from decimal import Decimal

valor = Decimal('1.00')

ou

valor = Decimal('12000.00')

Espero não ter ajudado.


2010/1/28 Oraculum <damon....@gmail.com>

--
Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>



--
--
Bruno FrankCordeiro
bfsco...@gmail.com

Igor Sobreira

unread,
Jan 28, 2010, 9:44:18 PM1/28/10
to django...@googlegroups.com


2010/1/28 Oraculum <damon....@gmail.com>
Eu fiz um RealCurrencyField, pra usar ao invés de forms.DecimalField:


Ele vai te dar um Decimal, mas vai mostrar no input e validar no formato do real

Esse código foi baseado em uma implementação que eu vi de Vinicius Mendes, que participa aqui da lista, mas não achei mais o original dele (fica o crédito)

[]s

--
Igor Sobreira
www.igorsobreira.com

Vinicius Mendes

unread,
Jan 29, 2010, 7:24:06 AM1/29/10
to django...@googlegroups.com
Eu já ia comentar a coincidência do mesmo nome. A ideia é essa: pegar o que um membro da comunidade fez e aprimorar. Obrigado pelos créditos e pelo aprimoramento. O meu código atual é esse: http://gist.github.com/289690 mas faz um certo tempo que não uso, então pode ser que esteja com algum problema.


2010/1/28 Igor Sobreira <ig...@igorsobreira.com>
--
Igor Sobreira
www.igorsobreira.com

--
Reply all
Reply to author
Forward
0 new messages