Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala galera, blz?
Estou tendo problemas com numeros no mysql e php.
primeiro que no banco de dados 1.500.000,00 fica assim 1500000.00 e 26,80 fica assim 26.8
segundo que em uma operação de matemática pode acontecer isso: 45.654, sendo que esse "654" são centavos!
Alguem tem alguma solução?
Obrigado!
É como o colega falou acima, você formata apenas na saída, já que no banco de dados parece está definido corretamente. Esse é o formado correto de decimais. Utiliza-se o "." no lugar da ",".
O problema maior é quando temos campos no formato varchar e precisamos realizar calculos com decimais, etc. Também tem solução, como já postei em outros tópicos, mas é mais complicado. Observe exemplo simples abaixo:
<?php
$a = '45.654';
echo number_format($a,2,',','.');
?>
Boa sorte!Obrigado pessoal, vou testar e qualquer duvida volto a postar!
só mais uma duvida pessoal.
no bd eu uso int, varchar ou decimal?
e eu gostaria que o numero nao fosse arredondado automaticamente!
decimal (alguns SGBD é numeric). Você define diretamente no SGBD a quantidade de casas decimais. Entretanto, se você possuir um arredondamento específico do negócio, faça em PHP.
Olá, ronza. Boa noite :)
Tente usar o number_format(), ele vai formatar o número da forma que você desejar, com quantas casas decimais você quiser que apareçam e etc. Dê uma olhada aqui no manual do PHP pra entender como funciona. Se quiser, tem um tópico aqui mesmo no iMasters Forum que fala justamente sobre isso. Dê uma olhadinha pra se informar melhor. Clique aqui para o tópico do iMasters.
Edit básico pra dizer que você vai usar o number_format() só quando for capturar os dados do DB, porque se for salvar como integer ele vai salvar sem a formatação mesmo. Na hora de puxar os dados do DB é só dar um number_format() que fica "mais bonito" :clap:
Abraço.