※ ChatGPTを利用し、要約された質問です(原文:【PHP】printf()関数の小数点以下の扱い方)
【PHP】printf()関数での小数点以下の扱い方
このQ&Aのポイント
printf()関数を使用して、PHPで小数点以下の桁数を指定する方法を説明します。
関数の引数を計算すると、小数点以下の桁数を指定した場合の表示結果が思っていたものと異なることがあります。
この方法は、PHPの他の関数でも使用されることがあります。
【PHP】printf()関数の小数点以下の扱い方
printf()関数で以下のような記述をしました。
関数の引数を計算すると単純で 5 × (1 - 0.35) で結果は 3.25 となります。
これを$%.1f によって出力するため小数点以下は1桁です。
桁数を指定した場合、指定し桁数以下は「四捨五入」されると思っていました。
よって、自分では Price: 3.3 と出力されると考えていましたが
実際には Price: 3.2 と表示されます。
ちなみに 3.25 を round() 関数で使うと 3.3 と返ってきます。
printf()関数で小数点以下の桁数をしてした場合、四捨五入、切り上げ、切り捨て
いずれでもない値が返ってくるのでしょうか?
このような小数点以下の桁数を扱う方法はPHPの他の関数でも使われるのでしょうか?
この方法の呼称というか名称というのはあるのでしょうか?
初学者です。分かりやすく教えていただければ幸いです。
よろしくお願いいたします。!
<表示結果>
Price: $3.2
3.3
<?php
$price = 5;
$off = 0.35;
printf("Price: $%.1f", $price * (1 - $off));
echo "<br>\n";
echo "<br>\n";
echo round(3.25, 1);
?>
お礼
回答ありがとうございました。