<?
// Подключаемся
$url = "http://www.cbr.ru/scripts/XML_daily.asp";
$source = file_get_contents($url);
// находим доллар
$patt = "|<Valute ID=\"R01235\">.*?</Valute>|is";
preg_match_all($patt, $source, $out);
$usd_source = $out[0][0];
// выбираем нужное значение
$patt = "|<Value>.*?</Value>|is";
preg_match_all($patt,$usd_source,$out);
$usd = $out[0][0];
?>
В $usd получается значение: 23,7462
Нужно чтобы было два знака после запятой (23,74), или можно разделять точкой.
Пробовал с помощью round()
$usd = str_replace(",",".",$usd);
$usd = round($usd, 2);
Пробовал substr()
$usd = substr($usd, 0, 5);
Не получается, не пойму почему.