すべて、小数点以下1桁の入力番号のみを受け入れるショッピングカートを作成しています。以下は、ライブラリから取得したコードの一部です(いくつかの変更が加えられています)。
$items['qty'] = trim(preg_replace('/([^0-9\.])/i', '', $items['qty']));
これは任意の数を受け入れます。でも、小数点以下1桁にしたいです。コードを変更する方法は?
ありがとう
すべて、小数点以下1桁の入力番号のみを受け入れるショッピングカートを作成しています。以下は、ライブラリから取得したコードの一部です(いくつかの変更が加えられています)。
$items['qty'] = trim(preg_replace('/([^0-9\.])/i', '', $items['qty']));
これは任意の数を受け入れます。でも、小数点以下1桁にしたいです。コードを変更する方法は?
ありがとう
^(\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'] = trim(preg_replace('/[^0-9\.]+|(?<=\.[0-9])[0-9+]+/', '', $items['qty']));
行を追加します:
$items['qty'] = sprintf('%.1f', $items['qty'])