簡體   English   中英

如何從PHP變量中刪除0(零數字)?

[英]How to remove 0(zero number) from php variable?

我嘗試使用php函數從php變量中刪除零號,但不起作用。

我嘗試使用roundfloorceil但不起作用。

我怎樣才能做到這一點?

2.00 ===> 2
2.05 ===> 2.05 (not remove zero)
2.50 ===> 2.5
2.55 ===> 2.55 (not remove zero)

您必須具有字符串變量。 請將其轉換為(float)$ var,如果打印出結果,這些零將丟失。

另一種選擇是在字符串上使用rtrim來刪除0和。 從頭開始。 在這里查看示例http://php.net/rtrim

嘗試這個 :

$list = array("2.00", "2.05", "2.50", "2.55");
foreach($list as $val)
   echo (double) $val . "</br>";

輸出:

2
2.05
2.5
2.55

嘗試這個:

number_format((float)$your_number, 2, '.', '');

我有同樣的問題。 函數number_format()以字符串形式返回數字,因此它不會在最后刪除零。

在PHP中,您可以強制轉換為Float Type (雙精度, 浮點型 ,實型),該類型將刪除所有前導或尾隨零(小數點后)。

2.5 === (double) "2.50"

但是請注意,除了刪除0之外,這不會格式化您的電話號碼(這不能確保貨幣格式)。 有關格式化,請參見number_format()

2.5 === (double) number_format('2.501', 2, '.', '');

例:

(float) 2.00 === 2
(float) 2.05 === 2.05 // (not remove zero)
(float) 2.50 === 2.5
(float) 2.55 === 2.55 // (not remove zero)

並提供證明: http : //ideone.com/wimBHm

值得注意的是,測試(float) 2.00 === 2實際上沒有通過,這是因為2實際上是類型(int) ,因此===測試失敗,但是,如您所見,輸出正是您想要的。

$price = '2.00';
$price2 = '2.50';
$price3 = '2.05';

function formatPrice($price)
{
   /* Format number with 2 decimal places, then remove .00, then right trim any 0 */
   return rtrim(str_replace('.00', '', number_format($price, 2)), '0');
}

echo formatPrice($price); //2
echo formatPrice($price2); //2.5
echo formatPrice($price3); //2.05

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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