如何使用PHP替换括号并在数字上添加减号


How to replace brackets and add minus sign to a number using PHP

我有一个变量-$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);,但不起作用。

你能告诉我怎么做吗?

感谢:)

您可以执行以下

str_replace(array("(",")"),array("-",""),$number);

我认为这应该符合您的要求:

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

示例:http://codepad.org/Yhb80H0v

您的$number必须是一个字符串才能让PHP"了解"括号。使用此代码:

$number = "(1,000.2)";
$number = preg_replace('/'(([0-9,.]+)')/', '-'1', $number);
print $number;