簡體   English   中英

使用PHP在十進制前后刪除零

[英]Remove zero after and before Decimal Using php

下面的代碼工作正常,但是在第二個變量名稱為fixed_2的情況下,為什么小數點后顯示3位數字? 我嘗試了許多沒有希望的方法。

$text = "000892021.2408000";

$fixed_1 = preg_replace('/000/','',$text);
$fixed_2 = preg_replace('/.000/','',$text);
$fixed_3 = preg_replace('/000./','',$text);

var_dump($fixed_1);
var_dump($fixed_2);
var_dump($fixed_3);

產量

 string(11) "892021.2408" string(13) "000892021.240" string(13) "92021.2408000" 

有什么幫助請解釋?

您可以使用嵌套的ltrim()rtrim()

    $res = ltrim(rtrim($text, '0'), '0');

那么,您用於$ fixed_2的正則表達式為“ .000” 這意味着刪除所有以任何字符開頭,后跟3個零的字符串。 “” 表示任何字符,因此它將匹配“ 8000”並將其刪除。 這就是為什么您在$ fixed_2中獲得“ 000892021.240”的輸出的原因

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM