我嘗試使用php函數從php變量中刪除零數字,但無法工作。如何從php變量中刪除0(零數字)?
我嘗試使用round
或floor
或ceil
但不起作用。
我該怎麼做?
2.00 ===> 2
2.05 ===> 2.05 (not remove zero)
2.50 ===> 2.5
2.55 ===> 2.55 (not remove zero)
我嘗試使用php函數從php變量中刪除零數字,但無法工作。如何從php變量中刪除0(零數字)?
我嘗試使用round
或floor
或ceil
但不起作用。
我該怎麼做?
2.00 ===> 2
2.05 ===> 2.05 (not remove zero)
2.50 ===> 2.5
2.55 ===> 2.55 (not remove zero)
您必須有字符串變量。請將其轉換爲浮動狀態(浮動)$ var,如果打印出結果,則將丟失這些零。
其他選項是對字符串使用rtrim刪除0和。從最後。看到這裏http://php.net/rtrim
修剪將刪除所有前導零:'2 === trim(200,'0');' – Mike
例子試試這個:
$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
什麼是'double' php命令? –
@robertdewere - 有關更深入的解釋和鏈接,請參閱下面的答案。 – Mike
試試這個:
number_format((float)$your_number, 2, '.', '');
我有同樣的問題。函數number_format()將數字作爲字符串返回,因此它不會在末尾移除零。
$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
在PHP中,你可以cast值的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)
一個值得注意的有趣的事情是,測試(float) 2.00 === 2
居然不及格,這是因爲2
實際上是(int)
類型,並因此通過===
測試失敗,但是,正如您所看到的,輸出結果正是您正在查找的內容。
floor/ceil不能在2.50上工作,因爲這在數學上不正確(會給你2或3)。 – Maximus2012
請向我們展示您的**完整**和**真實**代碼和您的嘗試 – Rizier123
看看是否有幫助:http://stackoverflow.com/questions/5149129/how-to-strip-trailing-zeros-in- php – Maximus2012