[英]How to remove 0(zero number) from php variable?
我嘗試使用php函數從php變量中刪除零號,但不起作用。
我嘗試使用round
或floor
或ceil
但不起作用。
我怎樣才能做到這一點?
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.