6

私はこの変数を持っています $number。これには、さまざまな種類の数値形式が含まれている可能性があります。

タイプ1:$number=200,000.00 ;タイプ2:$number=(200,000.00) ;タイプ3:$number=(20.50) ;

数字に角かっこがある場合は、角かっこを削除し、左側にマイナス記号を追加します。

例: 数値が$number=(200,000.00) ;に変換したい場合、または に変換したい-200,000.00がそのままにしたい場合。$number=(20.50) ;-20.50$number=200,000.00 ;

私はこれを試しましpreg_replace('/[()^\d-]+/', '', $number); たが、うまくいきません。

これを行う方法を教えてください。

ありがとう :)

4

3 に答える 3

7

次のように行うことができます

str_replace(array("(",")"),array("-",""),$number);
于 2012-08-29T12:37:41.650 に答える
3

これはあなたが望むことをするべきだと思います:

if (strpos($number, "(") !== false && strpos($number, ")") !== false)
    $number = '-'. trim($number, "()");

例: http://codepad.org/Yhb80H0v

于 2012-08-29T12:37:06.710 に答える
2

PHP$numberに括弧を「認識」させるには、文字列である必要があります。次のコードを使用します。

$number = "(1,000.2)";
$number = preg_replace('/\(([0-9,.]+)\)/', '-\1', $number);
print $number;
于 2012-08-29T12:37:42.930 に答える