Ir para conteúdo

POWERED BY:

Arquivado

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

avcintra

como inserir preco no banco e como mostrar com ASP

Recommended Posts

Fala galera,To fazendo minha primeira loja virtual e nunca trabalhei com valor monetário... to tendo dificuldade em armazenar o valor e resgata-lo depois com a formatação de ponto e virgula (EX 1.000,00).Lá vai minhas dúvidas, se alguem puder me ajudar eu agradeço:- Como configuro o campo no banco de dados, numérico? valor monetário? - Como faço para mostrar o valor com ponto e virgula no site?- Como faço, caso necessario para tirar os pontos e virgulas para armazenar no Banco?Ou seja, não tenho a menor idéia de como fazer, já tentei algumas coisas aqui mas o valor armazenado nao coloca ponto e virgula e quando ponho um valor quebrado, tipo R$ 100,60 ele arredonda para R$101.alguem pode me ajudar?Desde já agradeço!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve...

 

Armazena como número, e o formato deve ser:

 

sem pontos para separar milhares, bilhares, etc, e ao invés de vírgula para separar os centavos, deve-se utilizar ponto...

Ou seja.. se você recebe o valor do formulário assim:

 

valor = "1.560,00"

Então, você irá precisar tratar essa valor, assin:

 

valor = Replace(valor, ".", "")valor = Replace(valor, ",", ".")valor = CDBL(valor)

O que vai lhe retornar:

 

valor = 1560.0

E é assim que deve ser armazenado no Banco de Dados, para quando for necessário fazer cálculos de juros, soma, multiplicação, etc, não ter problemas...

 

Para printar o valor na tela, é simples:

 

Response.Write( FormatCurrency(valor,2) )

Onde FormatCurrency é o que formata o valor, e "2" seria o número de casas decimais, ou seja, centavos a ser exibido...

 

Qualquer dúvida poste aí! Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu...já consegui mostrar o valor formatado com o que voce me passou mas está mostrando um valor muito maior do que o correto.Eu tenho armazenado no banco 24155 e ele está mostrando R$ 24.155,00. Como faço para mostrar R$ 241,55?Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

avcintra,Qual o tipo do campo na tabela?Mas a dica do <%Rafael%> esta correta.Só complementando você pode usar tb FormatNumber(varlor,numero_decimais).Normalmente qdo vou trabalhar com decimais defino o tipo do campo na tabela como: Decimal Ou Numeric. Dê uma pesquisada no boosk on-line para verificar como é funcionamento deste tipos.t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve :D

 

Tem certeza que está armazenando como número da forma correta??

 

Faça um teste:

 

<% valor1 = 241valor2 = 241.0valor3 = 241.55valor4 = "241,0"valor1 = CDBL(valor1)valor2 = CDBL(valor2)valor3 = CDBL(valor3)valor4 = CDBL(valor4)valor1 = FormatCurrency(valor1,2)valor2 = FormatCurrency(valor2,2)valor3 = FormatCurrency(valor3,2)valor4 = FormatCurrency(valor4,2)Response.Write(valor1 & "<br>" & valor2 & "<br>" & valor3 & "<br>" & valor4) %>

 

Veja como fica certinho...

 

Se os campos estiverem sendo salvos da forma correta e você os convertendo para CDBL(valor), não é para dar erro...

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao...

desculpa a minha ignorancia..

Estou armazenando no BD access no formato numero, lá embaixo dentro do access dentro da tabela que possui o campo preco, no modo design, na aba GERAL está com as seguintes configurações:

 

- tamanho do campo: inteiro longo;

- casas decimais:2;

- valor padrao:0;

- requerido:nao;

- indexado:nao;

 

Será que tem alguma coisa de errado nas configurações no banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao...

desculpa a minha ignorancia..

Estou armazenando no BD access no formato numero, lá embaixo dentro do access dentro da tabela que possui o campo preco, no modo design, na aba GERAL está com as seguintes configurações:

 

- tamanho do campo: inteiro longo;

- casas decimais:2;

- valor padrao:0;

- requerido:nao;

- indexado:nao;

 

Será que tem alguma coisa de errado nas configurações no banco?

Quase não uso mais o Access! http://forum.imasters.com.br/public/style_emoticons/default/natal_laugh.gif

Mas acho que no caso do bd esta em access voce deve passar os seu valores com a , (virgula) tipo:

valor = 1788,22

 

Ao invés de usa o . (ponto).

 

O erro é besteira pode ter certeza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como já disse não lembro mais nada de Access! http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

 

Mas ai esta o desbeiço no arredondamento.

 

você ja tentou usar tipo Moeda com 2 decimais?

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.