ホームページ >バックエンド開発 >PHPの問題 >PHPで下3桁を削除する方法

PHPで下3桁を削除する方法

PHPz
PHPzオリジナル
2023-04-23 10:09:37617ブラウズ

最近、電子商取引 Web サイトを開発しており、商品の価格を処理する必要があります。価格が長すぎるため、価格の下3桁を削除する必要がありますが、整数部分と小数点は保持する必要があるため、この機能を実現するにはPHPで関数を実装する必要があります。

PHP では、正規表現を使用して文字列内の数値を照合したり、substr 関数を使用して文字列の一部をインターセプトしたりできます。したがって、最初に正規表現を使用して文字列の数値部分を照合し、次に substr 関数によって前の部分をインターセプトし、小数点を追加し、最後に処理された文字列を返す関数を作成できます。

以下は簡単な実装です:

function removeLastThreeDigits($price) {
  $pattern = '/\d+\.?\d*/';
  preg_match($pattern, $price, $matches);

  if(count($matches) > 0) {
    $priceWithoutDecimal = substr($matches[0], 0, -3);
    return $priceWithoutDecimal . substr($matches[0], -3);
  } else {
    return $price;
  }
}

この関数は価格文字列をパラメータとして受け取り、処理された文字列を返します。まず、数値部分と一致する $pattern 変数を定義します。この正規表現は、小数点と 0 個以上の数字を含む 1 つ以上の数値と一致します。

次に、preg_match 関数を使用して、価格文字列内で一致する数値を検索します。この関数は、最初の要素が一致した文字列である配列を返します。

一致する数値が見つからない場合は、元の文字列を直接返します。一致する数値がある場合は、substr 関数を使用して、最後の 3 つの数値を除く前の部分をインターセプトします。次に、インターセプトした文字列を元の文字列の最後の 3 つの数値と連結し、結果を返します。

使用例を次に示します:

$price = "25.9900";
$newPrice = removeLastThreeDigits($price);
echo $newPrice; //输出25.99

$price = "35.0000";
$newPrice = removeLastThreeDigits($price);
echo $newPrice; //输出35.00

$price = "50";
$newPrice = removeLastThreeDigits($price);
echo $newPrice; //输出50

この例では、3 つの異なる価格文字列を使用してこの関数をテストします。最初の文字列には小数点と 4 つの数字が含まれ、2 番目の文字列には小数点と 4 つのゼロが含まれ、3 番目の文字列には整数部分のみが含まれます。

テストの結果、この関数は整数部分と小数点を保持したまま、価格文字列の最後の 3 桁を正しく削除できることがわかりました。この関数は小数点のない整数も処理でき、元の文字列を返すだけです。

要約すると、PHP を使用して文字列から最後の 3 つの数字を削除する関数を作成するには、単純に正規表現と substr 関数を使用します。他の文字列に対しても同様の処理を行う必要がある場合は、このメソッドを参照してください。

以上がPHPで下3桁を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。