[英]php - float value with two decimal places
PHP中有什么辦法可以讓浮點值(不是字符串)的兩位小數(如果它們為零)?
例:
$v = 1.50
使用(float)
或floatval($v)
將返回數字1.5
我知道我可以使用number_format()
獲得任意精度,但這會返回一個字符串,並且一旦將其強制轉換為浮點數,我就會遇到相同的問題。
簡短的答案是你不能。 變量(作為float
)僅包含基准點,而1.5
或1.50
只是同一事物,並且在內部將其存儲為浮點數 。
僅當將值顯式(使用number_format()
)或隱式(直接打印變量或在調試器中檢查值number_format()
轉換為字符串時,才可以看到打印為1.5
或1.50
的值。 要將值寫為字符串時,應該使用number_format()
。
這可能對您有幫助:
例:
$foo = "105";
echo number_format((float)$foo, 2, '.', ''); // Outputs -> 105.00
這是另一種方式:
$num = 1.2;
$dec = 2;
echo sprintf('%0.'.$dec.'f', round($num, $dec));
響應:
1.20
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.