我想要顯示£2.00代替£2或£3.50代替£3.5。如何在MYSQL/PHP中顯示兩位小數?
這些數字讓我們假設price
在MySQL數據庫中定義爲DOUBLE
。我如何強制MySQL或PHP顯示兩位小數?
非常感謝!
我想要顯示£2.00代替£2或£3.50代替£3.5。如何在MYSQL/PHP中顯示兩位小數?
這些數字讓我們假設price
在MySQL數據庫中定義爲DOUBLE
。我如何強制MySQL或PHP顯示兩位小數?
非常感謝!
試試這個:
echo number_format ($price, 2);
number_format
和money_format
是你的朋友!
對於MySQL,你可以使用format
功能:
SELECT FORMAT(1.2345, 2);
它將返回1.23
對於PHP,可以以類似的方式使用number_format
:
echo number_format(1.2345, 2);
也打印1.23
其他答案是正確的,因爲他們會格式一個值到小數點後兩位。
然而,鑑於你的問題的背景下,更好的回答是不使用DOUBLE
數據類型 - 至少,不是爲了這個目的。
Floating-point data types like DOUBLE
are approximate並不代表確切的數字;它們對於表示質量或長度等連續量非常有用。對於像貨幣這樣的離散數量,它們可能是災難性的,導致非常意想不到的結果。對於這樣的量,你真的應該使用MySQL的fixed-point types像DECIMAL
,使您可以指定,因此將不需要任何這樣的格式或四捨五入產生正確的貨幣值規模(小數存儲的,即數量)。
+1,重要的區別 – davidethell
如果在循環中使用此函數將遇到嚴重的性能問題。 – transilvlad