Stack Overflow em Português Asked by Fox.11 on February 4, 2021
Estou trazendo do banco de dados a soma dos valores e como resultado ele me retorna conforme o exemplo abaixo:
6.3285714285714
Gostaria de que ele ficasse dessa forma:
6.32
Já tentei o ceil()
e o round()
, mas ambos me retornaram para mais ou para menos. Tentei usar o substr($valor,0,4);
, mas o problema é quando o valor fica:
6.328
Lembrando que o valor pode retornar também:
16.3285714285714
E acredito que o substr()
não seria a solução. Como eu poderia resolver isso?
Eu acho que neste caso não teria que arredondar?
$valor = 6.3285714285714;
echo number_format(floatval($valor), 2, '.', '');
Agora se não quer arredondar é só fazer assim:
echo number_format(floor(($valor*100))/100, 2, '.', '');
Answered by Ivan Ferrer on February 4, 2021
De fato falta um função para truncar no PHP, fizeram uma no SO:
function truncate($val, $f = "0") {
if(($p = strpos($val, '.')) !== false) {
$val = floatval(substr($val, 0, $p + 1 + $f));
}
return $val;
}
echo truncate(6.3285714285714, 2);
Veja funcionando no ideone. E no repl.it. Também coloquei no GitHub para referência futura.
Answered by Maniero on February 4, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP