最近、電子商取引 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 サイトの他の関連記事を参照してください。