TOPIC

Erro na saída. Arredondamento. PHP

rcastro35 asked 2 years ago

Alguém poderia clarear minha mente com essa questão? Fazendo os testes, dois passam mas um não, porque ele arredonda o numero pra cima.

Fazendo esse teste

JOAO 500.00 1230.30 Eu tenho o resultado 684.545 então utilizei o floor que me trouxe 684.54 que é o resultado correto. Mas não funciona para esse outro exemplo:

JOAO 500.00 1230.30

que acaba me trazendo o resultado 1884.57 o correto seria 1884.58.

E se eu não utilizo o FLOOR o último vem certo e o primeiro não.

$nome = fgets(STDIN); $salario = fgets(STDIN); $totalVendas = fgets(STDIN);

echo($nome); echo($salario); echo($totalVendas) . PHP_EOL;

$comissao = ($totalVendas * 15) / 100;

$teste = floor($comissao * 100) / 100;

$total = number_format(($salario + $teste), 2, '.', '');

echo("TOTAL = R$ " . $total). PHP_EOL;

Remember not post solutions. Your post may be reviewed by our moderators.

  • izaquepspro replied 2 years ago

    no lugar do echo use printf

    $x = 10;

    printf("Exemplo: R$ %.2f\n",$x);

    tente usar tambem o intval e floatval nas contas

  • rcastro35 replied 2 years ago

    Agora foi. Valeu pela ajuda Izaque, obrigado!