首頁 >後端開發 >PHP問題 >php怎麼刪除後三數字

php怎麼刪除後三數字

PHPz
PHPz原創
2023-04-23 10:09:37617瀏覽

最近在開發一個電商網站,需要處理商品價格。由於價格太長,需要刪除價格最後三位數字,但是要保留整數部分和小數點,因此需要在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變量,用於匹配數字部分。這個正規表示式會符合一個或多個數字,可以包含一個小數點和零個或多個數字。

接下來,我們使用preg_match函數來在價格字串中尋找匹配的數字。這個函數傳回一個數組,其中第一個元素是匹配的字串。

如果沒有找到符合的數字,我們就直接傳回原始字串。如果有相符的數字,我們就使用substr函數來截取前面的部分,不包括最後三個數字。然後,我們將截取的字串和原始字串中最後三個數字拼接起來,並傳回結果。

下面是一個使用範例:

$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

在這個例子中,我們使用三個不同的價格字串來測試這個函數。第一個字串有小數點和四個數字,第二個字串有小數點和四個零,第三個字串只有整數部分。

經過測試,我們發現這個函數可以正確地刪除價格字串的最後三個數字,同時保留整數部分和小數點。這個函數也可以處理沒有小數點的整數,只需傳回原始字串即可。

總之,使用PHP編寫一個函數來刪除字串中的最後三個數字只需使用正規表示式和substr函數即可。如果您需要對其他字串進行類似的處理,也可以參考這個方法。

以上是php怎麼刪除後三數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn