PHP - Função Desconto

4 respostas Resolvido
php
Sergio_Guerjik

Olá pessoal, alguém poderia corrigir minha função abaixo para exibir apenas 2 casas depois da vírgula?

function calculaDesconto()

{

return $this->preco - $this->preco * 0.15;

}

4 Respostas

javaflex

Usa number_format().

echo number_format(calculaDesconto(), 2)
Sergio_Guerjik

Obrigado Javaflex, fiz desta forma mas não funcionou. Não limitou a 2 caracteres após a virgula depois de efetuar o desconto.

function calculaDesconto()

{

return $this->preco - $this->preco * 0.15;

echo number_format(calculaDesconto(), 2);

}
javaflex
Solucao aceita

Não é para colocar isso dentro da própria function calculaDesconto(). Coloque onde estiver usando o método na hora de processar o HTML.

Na classe de negócio:

function calculaDesconto()
{
    return $this->preco - $this->preco * 0.15;
}

Parte onde você processa o HTML:

<?php 
   echo number_format($nomeDoSeuObjeto->calculaDesconto(), 2);
?>

Pode também fazer dessa forma, mas não é boa prática:

function calculaDesconto()
{
    return number_format($this->preco - $this->preco * 0.15, 2);
}

O importante é você saber que number_format() faz isso, o resto é com você na sua lógica de programação.

Sergio_Guerjik

Entendi como utilizar o number_format Javaflex, muito obrigado. E desta forma, funcionou que foi uma beleza

valeu

abraços

Criado 10 de junho de 2017
Ultima resposta 10 de jun. de 2017
Respostas 4
Participantes 2