Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
eae....tudo bllz?!tô fazendo um sistema de cotação de preços, e tem um campo na minha tabela que guarda o valor, e gostaria que esse campo fosse tipo moeda..como eu faço isso?!
>
Não esqueça de inserir no bd utilizando ponto (.) e não virgula (,) e na hora da visualização utlize a função number_format para formatar a variavel..
Qualquer duvida posta
<{POST_SNAPBACK}>
hmm....e como eu faria pra trocar a (,) pelo (.) na hora de inserir no banco?!
use decimal, e o unico que da para colocar casa decimais..
http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Valeu pela dica pessoal !
Seguindo as dicas de voces eu fiz assim:
// tira os pontos(.) caso o usuário tenha colocado. Ex: "1.000" fica assim "1000" $valor = str_replace(".","",$valor);// troca a vírgula(,) decimal pelo ponto(.). Ex.: "1000,00" fica assim "1000.00"$valor = str_replace(",",".",$valor );// aí insere no BD// Depois pra mostrar$valor = number_format($valor,2,",",".");// Ficaria assim: "1.000,00" no formato brasileiro
Melhor usar DECIMAL ou NUMERIC.
A não ser que não seja do seu interesse realizar calculos com esses valores, usando VARCHAR, vai ter mais trabalho.
é isso mesmo use DECIMAL 10,2 por exemplo
e nunca esqueça cada campo no mysql existe uma finalidade, mas tem gente que só sabe usar varchar
Bom, eu sei que os tipos de campos do Mysql server pra vários tipos de dados, e eu uso vários !Só que eu me preocupei, neste caso, na formatação do número e os cálculos eu iria fazer com o PHP mesmo.Então eu posso usar o decimal mesmo e continuar usando a rotina de funções que mostrei acima ?
pode o campo decimal nao aceita virgulas só ponto e você formata apenas para exibir
mas usando o campo DECIMAL você tem vantagens, por exemplo se quiser fazer alguma operação matematica via sql você pode fazer porque o campo é proprio pra isso, agora se usar um varchar as funções do sql mysql nao irao funcionar, mesma coisa quando pessoas usam campo varchar pra salvar datas dai elas perdem todas as funções do mysql para tratamento de datas, como pesquisa por data, entre datas, somar subtrair datas etc...
por isso que sempre falo usar sempre o campo certo, alem de certo o correto a pessoa só tem a ganhar
>
pode o campo decimal nao aceita virgulas só ponto e você formata apenas para exibir
mas usando o campo DECIMAL você tem vantagens, por exemplo se quiser fazer alguma operação matematica via sql você pode fazer porque o campo é proprio pra isso, agora se usar um varchar as funções do sql mysql nao irao funcionar, mesma coisa quando pessoas usam campo varchar pra salvar datas dai elas perdem todas as funções do mysql para tratamento de datas, como pesquisa por data, entre datas, somar subtrair datas etc...
por isso que sempre falo usar sempre o campo certo, alem de certo o correto a pessoa só tem a ganhar
Concordo completamente. Entretanto, quando vou salvar os valores com o ponto, o numero sempre fica sem o ponto. ou seja se o valor for
Decimal = 2.54;
no banco fica => 254.00.
sei que dá pra resolver salvando como string, mas queria salvar como um valor decimal pra poder fazer operaçoes matematicas.
Opa...
Na estrutura do MySQL não tem campo moeda...
Utilize um campo var char e o R$ você poe no código mesmo.
Abraços. :D