Die grundlegende Verwendung von Strval () besteht darin, die schwimmenden Punktzahlen direkt in Zeichenfolgen umzuwandeln, behält jedoch alle erheblichen Anzahl von schwimmenden Punktzahlen bei und kann die Anzahl der Dezimalstellen nicht einschränken.
<?php
$num = 3.1415926;
echo strval($num); // Ausgabe "3.1415926"
?>
Obwohl es einfach ist, hat es keine Kontrolle darüber, wie viele Dezimalstellen erhalten bleiben.
Number_Format () ist eine integrierte PHP-Funktion, die speziell zum Formatnummern verwendet wird und die Anzahl der Dezimalstellen angeben kann.
<?php
$num = 3.1415926;
$formatted = number_format($num, 2); // reservieren2Dezimalzahl,Das Ergebnis ist eine Zeichenfolge
echo strval($formatted); // Ausgabe "3.14"
?>
number_format () selbst gibt eine Zeichenfolge zurück. Die Verpackung von Strval () soll die Anforderungen der Frage erfüllen, aber es ist eigentlich nicht notwendig.
Sprintf () ist auch eine gemeinsame Methode zum Formatieren von Zeichenfolgen und kann die Anzahl der reservierten Dezimalstellen flexibel angeben.
<?php
$num = 3.1415926;
$formatted = sprintf("%.3f", $num); // reservieren3Dezimalzahl,Return String
echo strval($formatted); // Ausgabe "3.142"
?>
In ähnlicher Weise gibt Sprintf () eine Zeichenfolge zurück, und die Verwendung von Strval () ist nur eine unnötige Wrapper.
Manchmal möchten wir die Funktion rund () verwenden, um den Dezimalpunkt zuerst zu verarbeiten und ihn dann in eine Zeichenfolge umzuwandeln.
<?php
function floatToString($num, $decimals) {
$rounded = round($num, $decimals);
return strval($rounded);
}
echo floatToString(3.1415926, 2); // Ausgabe "3.14"
echo "\n";
echo floatToString(3.1000, 2); // Ausgabe "3.1",Beachten Sie, dass kein Null hinzugefügt wird
?>
Hier sorgt Round () die Genauigkeit des numerischen Werts, füllt jedoch die Nullen nicht automatisch an den Dezimalstellen.
Wenn Sie einen festen Dezimalplatz beibehalten und automatisch Nullen ausgleichen müssen, können Sie Number_Format () als einfachste Weise verwenden:
<?php
$num = 3.1;
echo strval(number_format($num, 3)); // Ausgabe "3.100"
?>
Straval () Direktumwandlung kann die Anzahl der Dezimalstellen nicht kontrollieren.
Es wird empfohlen, die Zahlen mit Number_Format () oder Sprintf () zuerst zu formatieren, um eine Zeichenfolge mit einer angegebenen Dezimalzahl zu erhalten und sie dann mit Strval () einzuwickeln (tatsächlich ist es in Ordnung, sie nicht zu wickeln).
Round () kann zum Runden verwendet werden, aber Nullen nicht automatisch ausgleichen.
Die endgültige Methode wird auf der Grundlage der Frage ermittelt, ob die Null-Komplement erforderlich ist und die Formatanforderungen.