Пытаюсь в строке заменить все целые числа дробными.
$str = "(192-10)*P+20.92-9*(P+Q*5.91)+8923-39+P+1";
echo "IN :$str\n";
$str = preg_replace('/([^.]|^)(\d+)([^.]|$)/', '$1$2.0$3', $str);
echo "OUT:$str\n";
В результате выдаёт:
IN :(192-10)*P+20.92-9*(P+Q*5.91)+8923-39+P+1
OUT:(192.0-10.0)*P+2.00.92.0-9*(P+Q*5.91.0)+8923.0-39.0+P+1.0
А должно выдать:
(192.0-10.0)*P+20.92-9*(P+Q*5.91)+8923.0-39.0+P+1.0
В чём может быть проблема?
Спасибо.