Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP替换括号并为数字添加减号_Php - Fatal编程技术网

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

如何使用PHP替换括号并为数字添加减号,php,Php,我有一个变量-$number,它可能包含不同类型的数字格式 类型1:$number=200000.00类型2:$number=(200000.00)类型3:$number=(20.50) 如果数字有括号,我想去掉括号,在左边加一个减号 示例:如果编号为$number=(200000.00)我想将其转换为-200000.00或在$number=(20.50)的情况下我想将其转换为-20.50,但对于$number=200000.00我想保持原样 我试过这个preg_replace('/[()^\d

我有一个变量-
$number
,它可能包含不同类型的数字格式

类型1:
$number=200000.00类型2:
$number=(200000.00)类型3:
$number=(20.50)

如果数字有括号,我想去掉括号,在左边加一个减号

示例:如果编号为
$number=(200000.00)
我想将其转换为
-200000.00
或在
$number=(20.50)的情况下
我想将其转换为
-20.50
,但对于
$number=200000.00我想保持原样

我试过这个
preg_replace('/[()^\d-]+/',''$number)但它不工作

你能告诉我怎么做吗


谢谢:)

我认为这应该满足您的要求:

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

您可以执行以下操作

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

您的
$number
必须是一个字符串才能让PHP“知道”括号。使用此代码:

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