Murilo Cabral Postado Novembro 21, 2013 Denunciar Share Postado Novembro 21, 2013 Olá amigos não consigo que os valores dos produtos cadastrados, fiquem como estão registrados no BD. Exemplo. Uma geladeira vale R$ 1.250,53, mas no carrinho de compras aparece como 1,25, e gostaria que aparecesse 1.250,53, incluindo os centavos. abaixo Código do number_format. $prod = $carrinho[$i]->produto; $precof = number_format($prod->preço, 2, ',', '.'); $subtotal = $carrinho[$i]->quantidade * $prod->preço; $subtotalf = number_format($subtotal, 2, ',', '.'); $total = $total + $subtotal; $carrinhoTR.="<tr> <td> " . $prod->titulo . "<input type='hidden' name='cod[]' value='" . $prod->codigo . "' /></td> <td align='center'> <input type='text' name='quant[]' value='" . $carrinho[$i]->quantidade . "' size=2 maxlength=3 /> </td> <td align='right'>" . $precof . " </td> <td align='right'>" . $subtotalf . " </td> </tr>"; } $total = number_format($total, 2, ',', '.'); espero que isso possa ajudar a descobrir como faço para manter o valor que esta cadastrado no BD. Desde já meus agradecimentos. Murilo Cabral Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Murilo Cabral Postado Novembro 22, 2013 Autor Denunciar Share Postado Novembro 22, 2013 Resolvi com a ajuda de um outro post, que informava de que o PHP não trabalha com virgula. Pois tirei a virgula que antecede os centavos e funcionou.. Valeu galera. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 crazySerk Postado Novembro 22, 2013 Denunciar Share Postado Novembro 22, 2013 Como que está salvo na BD? Pontos flutuantes? de qualquer maneira, eu utiliza está função para formatar os valores Reais... /** * Função para formatar numeros Floats em Reais */ public function formataReal($numero) { if(strpos($numero,'.')!='') { $var=explode('.',$numero); if(strlen($var[0])==4) { $parte1=substr($var[0],0,1); $parte2=substr($var[0],1,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.','.$var[1].'0'; }else { $formatado=$parte1.'.'.$parte2.','.$var[1]; } } elseif(strlen($var[0])==5) { $parte1=substr($var[0],0,2); $parte2=substr($var[0],2,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.','.$var[1]; } } elseif(strlen($var[0])==6) { $parte1=substr($var[0],0,3); $parte2=substr($var[0],3,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.','.$var[1]; } } elseif(strlen($var[0])==7) { $parte1=substr($var[0],0,1); $parte2=substr($var[0],1,3); $parte3=substr($var[0],4,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1]; } } elseif(strlen($var[0])==8) { $parte1=substr($var[0],0,2); $parte2=substr($var[0],2,3); $parte3=substr($var[0],5,3); if(strlen($var[1])<2){ $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0'; }else{ $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1]; } } elseif(strlen($var[0])==9) { $parte1=substr($var[0],0,3); $parte2=substr($var[0],3,3); $parte3=substr($var[0],6,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.$var[1]; } } elseif(strlen($var[0])==10) { $parte1=substr($var[0],0,1); $parte2=substr($var[0],1,3); $parte3=substr($var[0],4,3); $parte4=substr($var[0],7,3); if(strlen($var[1])<2) { $formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.$var[1].'0'; } else { $formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.$var[1]; } } else { if(strlen($var[1])<2) { $formatado=$var[0].','.$var[1].'0'; } else { $formatado=$var[0].','.$var[1]; } } } else { $var=$numero; if(strlen($var)==4) { $parte1=substr($var,0,1); $parte2=substr($var,1,3); $formatado=$parte1.'.'.$parte2.','.'00'; } elseif(strlen($var)==5) { $parte1=substr($var,0,2); $parte2=substr($var,2,3); $formatado=$parte1.'.'.$parte2.','.'00'; } elseif(strlen($var)==6) { $parte1=substr($var,0,3); $parte2=substr($var,3,3); $formatado=$parte1.'.'.$parte2.','.'00'; } elseif(strlen($var)==7) { $parte1=substr($var,0,1); $parte2=substr($var,1,3); $parte3=substr($var,4,3); $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00'; } elseif(strlen($var)==8) { $parte1=substr($var,0,2); $parte2=substr($var,2,3); $parte3=substr($var,5,3); $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00'; } elseif(strlen($var)==9) { $parte1=substr($var,0,3); $parte2=substr($var,3,3); $parte3=substr($var,6,3); $formatado=$parte1.'.'.$parte2.'.'.$parte3.','.'00'; } elseif(strlen($var)==10) { $parte1=substr($var,0,1); $parte2=substr($var,1,3); $parte3=substr($var,4,3); $parte4=substr($var,7,3); $formatado=$parte1.'.'.$parte2.'.'.$parte3.'.'.$parte4.','.'00'; } else { $formatado=$var.','.'00'; } } return $formatado." "; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Murilo Cabral
Olá amigos não consigo que os valores dos produtos cadastrados, fiquem como estão registrados no BD.
Exemplo.
Uma geladeira vale R$ 1.250,53, mas no carrinho de compras aparece como 1,25, e gostaria que aparecesse 1.250,53, incluindo os centavos.
abaixo Código do number_format.
Desde já meus agradecimentos.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.