
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
۩
Дата
|
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 2 Пользователь №: 38881 На форуме: Карма: ![]() |
Добрый день!
Пытаюсь в строке заменить все целые числа дробными. $str = "(192-10)*P+20.92-9*(P+Q*5.91)+8923-39+P+1"; В результате выдаёт: IN :(192-10)*P+20.92-9*(P+Q*5.91)+8923-39+P+1 А должно выдать: (192.0-10.0)*P+20.92-9*(P+Q*5.91)+8923.0-39.0+P+1.0 В чём может быть проблема? Спасибо. |
![]() |
|
![]() ![]() ④ ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Эксперт ![]() Сообщений: 9509 Пользователь №: 18161 На форуме: Карма: 552 ![]() |
Для PHP >= 5.3
$str = preg_replace_callback('/([\d.]+)/', function($match){ Или так еще $str = preg_replace('/([\d.]+)/e', 'strpos($1, ".") === false ? $1 . ".0" : $1;', $str); Это сообщение отредактировал Winston - 11.02.2014 - 16:41 |
![]() |
۩
Дата
|
||
![]() Новичок ![]() Профиль Группа: Пользователь Сообщений: 2 Пользователь №: 38881 На форуме: Карма: ![]() |
БОЛЬШОЕ СПАСИБО!!! Второй вариант не потребовал установки новой версии php. |
||
![]() |
![]() ![]() ![]() |