全部, 我正在製作一個購物車,只接受帶有1位小數的輸入數字。 下面是一段代碼我從圖書館獲取(有一些修改):php輸入1個十進制數
$items['qty'] = trim(preg_replace('/([^0-9\.])/i', '', $items['qty']));
這將接受任何數字。但我想把它作爲只有一位小數。如何修改代碼?
感謝
全部, 我正在製作一個購物車,只接受帶有1位小數的輸入數字。 下面是一段代碼我從圖書館獲取(有一些修改):php輸入1個十進制數
$items['qty'] = trim(preg_replace('/([^0-9\.])/i', '', $items['qty']));
這將接受任何數字。但我想把它作爲只有一位小數。如何修改代碼?
感謝
您可以第一小數點後刪除小數位:
$items['qty'] = trim(preg_replace('/[^0-9\.]+|(?<=\.[0-9])[0-9+]+/', '', $items['qty']));
您可以使用諸如^正則表達式(\ d + {0,1} \ d *)$
但是PHP有一個概念,過濾器,是做了很多驗證的對你,http://php.net/manual/en/filter.filters.validate.php
如果我沒有理解好這個問題,你可以使用number_format
$items['qty'] = number_format(trim(preg_replace('/([^0-9\.])/i', '', $items['qty'])),1,".","");
希望它能幫助。
添加一行:
$items['qty'] = sprintf('%.1f', $items['qty'])
number_format可以做到這一點。 http://us.php.net/manual/en/function.number-format.php –