Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie Strval, um schwimmende Zahlen zu konvertieren und die angegebene Anzahl von Dezimalstellen beizubehalten

Verwenden Sie Strval, um schwimmende Zahlen zu konvertieren und die angegebene Anzahl von Dezimalstellen beizubehalten

gitbox 2025-05-26

1. Verwenden Sie Strval () , um direkt konvertiert zu werden

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.


2. Verwenden Sie Number_Format () , um zuerst zu formatieren, und konvertieren Sie dann mit strval ()

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.


3.. Kombinieren Sie Sprintf () Formatierung und konvertieren Sie dann mit Strval ()

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.


V.

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.


5. Eine Kombinationsmethode, die die Anzahl der Dezimalstellen beibehält und die Nullen automatisch füllt

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"
?>

Zusammenfassen

  • 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.