現在の位置: ホーム> 最新記事一覧> STRVALを使用して浮動数を変換し、指定された小数点以下の場所を保持します

STRVALを使用して浮動数を変換し、指定された小数点以下の場所を保持します

gitbox 2025-05-26

1。strval ()を使用して直接変換します

strval()の基本的な使用法は、浮動小数点数を文字列に直接変換することですが、すべてのかなりの数の浮動小数点数を保持し、小数点以下の場所の数を制限することはできません。

 <?php
$num = 3.1415926;
echo strval($num); // 出力 "3.1415926"
?>

単純ですが、小数点以下の場所がいくつ保持されるかを制御できません。


2。number_format ()を使用して最初にフォーマットし、次にstrval()で変換します

number_format()は、数字のフォーマットに特別に使用され、小数点以下の場所の数を指定できる内蔵PHP関数です。

 <?php
$num = 3.1415926;
$formatted = number_format($num, 2);  // 予約する2位小数,結果は文字列です
echo strval($formatted);  // 出力 "3.14"
?>

number_format()自体は文字列を返します。 Strval()のラッピングは、質問の要件を満たすためですが、実際には必要ありません。


3。sprintf()のフォーマットを組み合わせて、 strval()で変換します

sprintf()は、文字列をフォーマットするための一般的な方法でもあり、予約済みの小数点以下の場所を柔軟に指定できます。

 <?php
$num = 3.1415926;
$formatted = sprintf("%.3f", $num); // 予約する3位小数,文字列を返します
echo strval($formatted); // 出力 "3.142"
?>

同様に、 sprintf()は文字列を返し、 strval()を使用することは不要なラッパーです。


4.関数をカスタマイズ、First Round() 、次に文字列に変換します

場合によっては、 Round()関数を使用して最初に小数点を処理し、次に文字列に変換する必要があります。

 <?php
function floatToString($num, $decimals) {
    $rounded = round($num, $decimals);
    return strval($rounded);
}

echo floatToString(3.1415926, 2); // 出力 "3.14"
echo "\n";
echo floatToString(3.1000, 2);   // 出力 "3.1",ゼロは追加されていないことに注意してください
?>

ここでは、 round()は数値の正確性を保証しますが、小数点のゼロを自動的に埋めません。


5.小数点以下の場所の数を保持し、ゼロを自動的に埋める組み合わせ方法

固定小数点を保持し、ゼロを自動的に補う必要がある場合は、 number_format()を最も簡単な方法として使用できます。

 <?php
$num = 3.1;
echo strval(number_format($num, 3));  // 出力 "3.100"
?>

要約します

  • straval()直接変換は小数点以下の場所の数を制御できません。

  • 指定された10進数で文字列を取得して、 strval()でwrapして、 number_format()またはsprintf()を使用して数字をフォーマットすることをお勧めします(実際、ラップしないでください)。

  • round()は丸めに使用できますが、ゼロを自動的に補うことはできません。

  • 最終的な方法は、ゼロ修飾が必要かどうか、およびフォーマット要件に基づいて決定されます。