SQLの丸めと切り捨て、詳細な説明が必要
質問
私はSQLとPHPに関しては初心者です。平均価格の結果を四捨五入して、現在表示されている余分なゼロを取り除こうとしています。
現在、私の結果は$ 3.005000になっています
現在、私のコードは次のようになっています。
$result = mysql_query("SELECT AVG(price) FROM milk WHERE price > 0 ");
$row = mysql_fetch_row ($result);
SQLの丸めと切り捨ての例をいくつか見つけましたが、残念ながら、私が見たチュートリアルでは、これらの変更を実装する場所または方法に関する有用な情報を提供していません。
これにより、どこで変更を加えるかを推測することができます。これまでのところ、どれも(明らかに)解決していません。
現在の構成でこれらの変更を行う必要がある場所を含め、結果を丸めて切り捨てる方法の例を誰かが私に提供できるなら、それは最も役に立ち、非常に感謝します!私のn00bishnessがソリューションを説明するのをより難しくするならば、私は本当にすみません。
ありがとう!
解決
MySQLには ROUND()関数。
したがって、SQLクエリの平均を丸めます。
$result = mysql_query("SELECT ROUND(AVG(price),2) FROM milk WHERE price > 0 ");
フォーマットの問題が発生した場合は、出力時にPHPの number_format()関数を使用できます。
他のヒント
データのフォーマットは、クエリ自体ではなく、クエリを作成するスクリプトで行う必要があります。たとえば、PHPでは、 sprintf
<を使用して、次のように記述できます。 / a>:
$formatted_price = sprintf("%01.2f", $unformatted_price);
( PHPマニュアルの補足例)
また、通常、価格値は浮動小数点値が正確ではないため、浮動小数点型ではなく、 decimal
型またはスケーリングされた整数として保存されます。
所属していません StackOverflow