Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, pessoal estou quebrando a cabeça aqui mas não consegui resolver ainda preciso de duas coisas...
1º: Tenho um produto com valor moeda de ex: R$ 25.000,00 e vai ser vendido por R$ 22.000,00
2º: Preciso saber como saber para subtrair e daí saber a porcentagem que os R$ 3.000,00 é de desconto, na calculadora é fácil mas no php sei que é falta de alguma coisa minha mas não consegui fazer ainda, pois fica dando erro de divisão por 0.
Isso vai ser para vários produtos com valores diferentes, mas a lógica será a mesma.
se alguém puder ajudar eu agradeço.
$valor_normal = 25000;
$valor_venda = 22000;
$desconto = $valor_normal - $valor_venda;
if ($desconto > 0) {
$dec_desconto = $desconto / $valor_normal;
$perc_desconto = round($dec_desconto * 100);
}
Só lembro que o PHP vai tratar valores numéricos sem ponto separador de milhar e com "." (ponto) como separador de decimaisAqui está, regra de 3.
<?php
$v1 = 100; //100% preço inteiro
$v2 = "25000"; // Preço
$v3 = ""; // Porcentagem a ser descoberta
$v4 = "22000"; // Depois do desconto
$c1 = $v1*$v4;
$c2 = $v2;
$total = $c1/$c2;
$resultado = 100 - $total;
echo $resultado; // Ele retorna 12, que é a porcentagem do desconto.
?>>
Aqui está, regra de 3.
<?php
$v1 = 100; //100% preço inteiro
$v2 = "25000"; // Preço
$v3 = ""; // Porcentagem a ser descoberta
$v4 = "22000"; // Depois do desconto
$c1 = $v1*$v4;
$c2 = $v2;
$total = $c1/$c2;
$resultado = 100 - $total;
echo $resultado; // Ele retorna 12, que é a porcentagem do desconto.
?>
Wesley seu código deu certo, porém o meu problema então é estar pegando o valor que vem do banco já como moeda...
ele está assim R$ 25.000,00
preciso transformar ele para fazer a divisão e isso está me complicando...
com str_replace tentei mas não consegui, estou fazendo assim
str_replace(',', '.', str_replace('.', '', $product['price']));
estou tentando no opencart, não sei como pegar esta variavel direto sem estar em moeda.
aguardo e obrigado a todos por enquanto
>
$valor_normal = 25000;
$valor_venda = 22000;
$desconto = $valor_normal - $valor_venda;
if ($desconto > 0) {
$dec_desconto = $desconto / $valor_normal;
$perc_desconto = round($dec_desconto * 100);
}
Só lembro que o PHP vai tratar valores numéricos sem ponto separador de milhar e com "." (ponto) como separador de decimais
Massaki
Valeu amigo, deu certo peguei o seu código daí tratei tirando com str_replace os caracteres extras e bingo...funfou o negócio...
obrigado a todos aí pela ajuda...
abraço
posta o código que está fazendo a divisão.