簡體   English   中英

php-具有兩個小數位的浮點值

[英]php - float value with two decimal places

PHP中有什么辦法可以讓浮點值(不是字符串)的兩位小數(如果它們為零)?

例:

$v = 1.50

使用(float)floatval($v)將返回數字1.5

我知道我可以使用number_format()獲得任意精度,但這會返回一個字符串,並且一旦將其強制轉換為浮點數,我就會遇到相同的問題。

簡短的答案是你不能。 變量(作為float )僅包含基准點,而1.51.50只是同一事物,並且在內部將其存儲為浮點數

僅當將值顯式(使用number_format() )或隱式(直接打印變量或在調試器中檢查值number_format()轉換為字符串時,才可以看到打印為1.51.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM