Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola criei um sisteminha para dar um desconto de 8% e formatar em real mais não esta formatando corretamente
> <? $valor = "2.588,56";
$valor = str_replace("." , "" , $valor );
$valor = str_replace("," , "" , $valor);
$percentual = 8.0 / 100.0;
$valor_final = $valor - ($percentual * $valor);
echo "O valor final do produto é: " . $valor_final . "</br>";
echo "O valor final do produto é: " . number_format($valor_final,2,',','.') . "</br>";
?>
Resultado final
O valor final do produto é: 238147.52
O valor final do produto é: 238.147,52
o que pode estar errado obrigado!
Alguem?
Mog.Lucas Clube do Hardware
Na segunda linha você está tirando a parte decimal do valor.. isso está fazendo com que a conta dê errado.. altere essa linha:
Código:
$valor = str_replace("," , "" , $valor);
para
Código:
$valor = str_replace("," , "." , $valor);
Fonte:http://forum.clubedohardware.com.br/formato-real-php/1080164?p=5739890
Outra duvida?
E Se Fosse Assim
tem como tirar o R$?
<?
$valor = "R$2.588,56"; // valor original
$valor = str_replace("." , "" , $valor );
$valor = str_replace("," , "." , $valor);
$percentual = 8.0 / 100.0; // 8%
$valor_final = $valor - ($percentual * $valor);
echo "O valor final do produto é: " . $valor_final . "</br>";
echo "O valor final do produto é: " . number_format($valor_final,2,',','.') . "</br>";
echo "O valor final do produto é: " . number_format($valor_final, 2, ',', '.');
?>Carregando comentários...