2012-05-11 43 views
0

全部, 我正在製作一個購物車,只接受帶有1位小數的輸入數字。 下面是一段代碼我從圖書館獲取(有一些修改):php輸入1個十進制數

$items['qty'] = trim(preg_replace('/([^0-9\.])/i', '', $items['qty'])); 

這將接受任何數字。但我想把它作爲只有一位小數。如何修改代碼?

感謝

+0

number_format可以做到這一點。 http://us.php.net/manual/en/function.number-format.php –

回答

0

您可以第一小數點後刪除小數位:

$items['qty'] = trim(preg_replace('/[^0-9\.]+|(?<=\.[0-9])[0-9+]+/', '', $items['qty'])); 

See it

+0

嗨@codaddict,你的溶膠解決了我的問題:)但你知道如何還包括「,」以及「。」。即1.4和1.4都可以接受?謝謝 – Mario

+0

@mario:你可以在字符類中添加',':'$ items ['qty'] = trim(preg_replace('/ [^ 0-9。,] + |(?<= [。,] [ 0-9])[0-9 +] + /','',$ items ['qty']));' – codaddict

0

如果我沒有理解好這個問題,你可以使用number_format

$items['qty'] = number_format(trim(preg_replace('/([^0-9\.])/i', '', $items['qty'])),1,".",""); 

希望它能幫助。

0

添加一行:

$items['qty'] = sprintf('%.1f', $items['qty'])