0

すべて、小数点以下1桁の入力番号のみを受け入れるショッピングカートを作成しています。以下は、ライブラリから取得したコードの一部です(いくつかの変更が加えられています)。

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

これは任意の数を受け入れます。でも、小数点以下1桁にしたいです。コードを変更する方法は?

ありがとう

4

5 に答える 5

1

これはラウンド関数で実行できます

echo round(153.751, 1);  // 153.8

これは、PHPで数値を丸めるのに役立ちます

于 2012-05-11T09:47:49.437 に答える
0

^(\d+。{0,1}\d *)$のような正規表現を使用できます

しかし、PHPには、多くの検証を行うフィルターという概念があります。http://php.net/manual/en/filter.filters.validate.php

于 2012-05-11T09:41:26.183 に答える
0

質問をよく理解している場合は、number_formatを使用できます

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

それが役に立てば幸い。

于 2012-05-11T09:42:48.090 に答える
0

最初の小数点以下の桁を削除できます。

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

見てください

于 2012-05-11T09:44:22.727 に答える
0

行を追加します:

$items['qty'] = sprintf('%.1f', $items['qty'])
于 2012-05-11T09:45:48.120 に答える