Devo visualizzare un numero in virgola mobile con un numero specificato di cifre decimali (arrotondando per eccesso), in particolare fino a due cifre decimali anche se il numero non ha alcuna parte frazionaria . Un modo che conosco è utilizzando la funzione PHP sprintf()
come segue.Visualizza sempre il numero di cifre decimali specificato in PHP (arrotondando per eccesso)
echo sprintf("%0.2f", 123);
Riporta 123.00
.
echo sprintf("%0.2f", 123.4555);
rendimenti 123.46
ma il seguente non tornare quello che mi serve.
echo sprintf("%0.2f", 123.455); // 5 is removed - the right-most digit.
mi aspetto di tornare 123.46
, ma non è così. Restituisce 123.45
. Anche se non è un'enorme differenza, in qualche modo devo restituire 123.46
in entrambi i casi.
La funzione round()
può farlo. echo round(123.455, 2);
e restituiscono 123.46
in entrambi i casi ma non riesco a pensare di utilizzare questa funzione perché se la parte frazionaria non è presente, non mostra affatto cifre decimali. come echo round(123, 2);
dà 123
e ho bisogno di 123.00
.
Esiste una funzione in PHP per raggiungere questo obiettivo?