andrebian
(usa Fedora)
Enviado em 11/01/2012 - 21:00h
OLá, tenho duas dicas para esta situação:
1 - Alterar o tipo de dado no campo da tabela (no banco de dados) colocando por exemplo credito double (10,2) e alinhando o conteúdo à direita <th align='center'>
2 - Usar o php pra indicar substrings do valor gerado
Sintaxe: recebe-se um valor e calcula o tamanho da string gerada por ele, após isto realiza um switch onde se o tamanho for igual a 1 acrescenta-se um zero, uma virgula e mais um zero antes do mesmo ex: 0,05. Caso seja 2 o tamanho acrescenta somente um zero e uma virgula ex: 0,97. caso seja 3,4 ou 5 pega as duas ultimas posições e acresenta uma virgula na frente delas, com isso os demais valores fiacam antes da virgula ex: 97,35. Caso seja 6 ou mais acrescenta além de uma virgula antes das duas ultimas posições um ponto antes da sexta posicao ex: 6.123,00
Parece dificil? É bem simples de fazer, note abaixo:
// débito
$deb = "250";
// tamanho da string gerada por $deb, neste caso 3.
$lendeb = strlen($deb);
// o mesmo feito acima pode ser realizado com os demais
$cred = "12500";
$saldo = "65400";
// Aqui basta realizar os casos, sendo eles de 1 a 9... imagino, a nao ser que tenha gente com muita grana cadastrada no teu sistema.
switch ($lendeb){
case 3:
$mdeb = substr($deb,0,1).",".substr($deb,1,2);
break;
case 6:
$mdeb = substr($deb,0,1).".".substr($deb,1,3).",".substr($deb,4,2);
break;
}
// agora basta imprimir
// Dica: tente mudar o valor de $deb para 612309 por exemplo para verificar como ficará 6.123,09
echo " .... <th align='right'>$mdeb</th> ....";
Contudo aqui mostro um caso, como voce vai estar usando while vai ficar dar um pouco mais de trabalho, tem que realizar este algoritmo para todos os valores. Ou aceitar a dica 1.
Espero ter ajudado.