Валюты. Убрать лишние цыфры

Статус
В этой теме нельзя размещать новые ответы.

emone

Гуру форума
Регистрация
1 Сен 2007
Сообщения
133
Реакции
51
Привет! подскажите пожалуйста как поменять формат вывода данных у валютной формы
Этьа форма выводит курс валюты.
спс за за парсер Инвейдеру
PHP:
<?

  // Получаем XML-файл с источника 
  $contentuc = get_contentuc();  
  // Разбираем содержимое, при помощи регулярных выражений  
  $pattern = "#<item>[\s]*<date>(.+?)</date>[\s]*". 
             "<code>(.+?)</code>[\s]*". 
             "<char3>(.+?)</char3>[\s]*". 
             "<size>(.+?)</size>[\s]*". 
             "<name>(.+?)</name>[\s]*". 
             "<rate>(.+?)</rate>[\s]*". 
             "<change>(.+?)</change>[\s]*". 
             "#i";  
  preg_match_all($pattern, $contentuc, $out);  
  unset($out[0]); 
  for($i = 0; $i < count($out[1]); $i++) 
  { 
    if($out[2][$i] == 840) $dollaruc = $out[6][$i]; 
    if($out[2][$i] == 978) $eurouc = $out[6][$i]; 
    if($out[2][$i] == 643) $rubuc = $out[6][$i]; 
    if($out[2][$i] == 826) $steruc = $out[6][$i]; 
    if($out[2][$i] == 860) $summuc = $out[6][$i]; 
    if($out[2][$i] == 974) $belarusuc = $out[6][$i]; 
    if($out[2][$i] == 981) $gruzijauc = $out[6][$i]; 
    if($out[2][$i] == 124) $kanadauc = $out[6][$i]; 
    if($out[2][$i] == 203) $chehijauc = $out[6][$i]; 
    if($out[2][$i] == 208) $danijauc = $out[6][$i]; 
    if($out[2][$i] == 233) $eestiuc = $out[6][$i]; 
    if($out[2][$i] == 392) $japanuc = $out[6][$i]; 
    if($out[2][$i] == 398) $kazahuc = $out[6][$i]; 
    if($out[2][$i] == 428) $latvijauc = $out[6][$i]; 
    if($out[2][$i] == 440) $litnauc = $out[6][$i]; 
    if($out[2][$i] == 498) $moldovauc = $out[6][$i]; 
  } 

  echo "100 USD - <B>$dollaruc</B> UAH<br>"; 
  echo "100 EUR - <B>$eurouc</B> UAH<br>"; 
  echo "10 RUR - <B>$rubuc</B> UAH<br>"; 
  echo "100 Фунтов стерлингов Соединенного королевства - <B>$steruc</B> UAH<br>"; 
  echo "100 Узбекских сумм - <B>$summuc</B> UAH<br>"; 
  echo "10 Белорусских рублей - <B>$belarusuc</B> UAH<br>"; 
  echo "100 Грузинских лари - <B>$gruzijauc</B> UAH<br>"; 
  echo "100 Канадских долларов - <B>$kanadauc</B> UAH<br>";
  echo "100 Чешских крон - <B>$chehijauc</B> UAH<br>";
  echo "100 Датских крон - <B>$danijauc</B> UAH<br>";
  echo "100 Эстонских крон - <B>$eestiuc</B> UAH<br>";
  echo "1000 Японских йен - <B>$japanuc</B> UAH<br>";
  echo "100 Казахских теньге - <B>$kazahuc</B> UAH<br>";
  echo "100 Латвийских лат - <B>$latvijauc</B> UAH<br>";
  echo "100 Литовских лит - <B>$litnauc</B> UAH<br>";
  echo "100 Молдавских леев - <B>$moldovauc</B> UAH<br>";


  function get_contentuc()  
  {  
    // Формируем ссылку к источнику валюты 
    $link = "http://www.bank-ua.com/export/currrate.xml";  
    // Загружаем HTML-страницу  
    $fd = fopen($link, "r");  
    $text="";  
    if (!$fd) echo "Курсы временно недоступны";  
    else  
    {  
      // Чтение содержимого файла в переменную $text  
      while (!feof ($fd)) $text .= fgets($fd, 4096);  
    }  
    // Закрыть открытый файловый дескриптор  
    fclose ($fd);  
    return $text;  
  }  
?>
Она выводить как:
USD\UHA 7.700000
EUR\UHA 9.885545

а нужно чтобы после коммы было одна или 2 значения.
USD\UHA 7.7
EUR\UHA 9.8
 
$out[6][$i] заменить на round($out[6][$i], 1);
 
sprintf в помощь. Пример №6.
 
sprintf, но лучше в таких парсерах разделять курс валюты от значения.
так и в базу удобней занести и если что сортировать, и округлять значения можно и как хочешь с ними работать.
 
А как реализовать парсер обменников webmoney? Общие наметки есть, а как подступиться не знаю. Хотя бы где-нибудь найти пример такого скрипта.
:nezn:
 
Можем в 4 руки и в 2 головы сделать быстро и качественно...2 головы - твоя , моя..=)И руки - мои,твои..=)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху