Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
1 / 1 / 0
Регистрация: 21.11.2014
Сообщений: 47
1

Курс доллара на php +2%

10.02.2015, 21:55. Показов 1957. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго вечера всем!
Имеется скрипт на php, выводящий в битриксе курс доллара.
Собственно, скрипт (стырен с просторов рунета):

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php 
  // Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru 
  $content = get_content(); 
  // Разбираем содержимое, при помощи регулярных выражений 
  $pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i"; 
  preg_match_all($pattern, $content, $out, PREG_SET_ORDER); 
  $dollar = ""; 
  $euro = ""; 
  foreach($out as $cur) 
  { 
    if($cur[2] == 840) $dollar = str_replace(",",".",$cur[4]); 
    if($cur[2] == 978) $euro   = str_replace(",",".",$cur[4]); 
  } 
  echo "".$dollar."<br>"; 
  function get_content() 
  { 
    // Формируем сегодняшнюю дату 
    $date = date("d/m/Y"); 
    // Формируем ссылку 
    $link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date"; 
    // Загружаем HTML-страницу 
    $fd = fopen($link, "r"); 
    $text=""; 
    if (!$fd) echo "Запрашиваемая страница не найдена"; 
    else 
    { 
      // Чтение содержимого файла в переменную $text 
      while (!feof ($fd)) $text .= fgets($fd, 4096); 
    } 
    // Закрыть открытый файловый дескриптор 
    fclose ($fd); 
    return $text; 
  } 
?>
Как реализовать скрипт так, чтобы выводилось значение доллара +2% ?
т.е. если сейчас по этому скрипту получаю 65,7817, как получить 67,0973 ?

Добавлено через 6 минут
Или, может быть, кто ни то подскажет более изысканный код с требуемой функцией?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2015, 21:55
Ответы с готовыми решениями:

Корректировка цен с использованием PHP на сайте WordPress под курс доллара
Доброго времени суток уважаемые форумчане. Есть следующие данные: Сайт на WP. На сайте есть страниц...

Есть ли в PHP стандартная функция, возвращающая курс доллара на данный момент?
а то проблемы с ssl не позволяют открыть url....

Считать курс доллара автоматически
Я нашел скрипт, который получает курс доллара с сайта ЦБ. А мне нужно теперь, чтоб этот курс...

Умножить полученный курс доллара на значение переменной
Добрый день уважаемые форумчани! Подскажите пожалуйста есть данный код...

8
Заблокирован
10.02.2015, 22:04 2
Цитата Сообщение от fatalnoob Посмотреть сообщение
Как реализовать скрипт так, чтобы выводилось значение доллара +2%
Умножить его на 1,02. Не?
0
1 / 1 / 0
Регистрация: 21.11.2014
Сообщений: 47
10.02.2015, 22:14  [ТС] 3
Это логично, но где это прописать в коде?
0
0 / 0 / 2
Регистрация: 05.12.2014
Сообщений: 5
10.02.2015, 22:45 4
Лучший ответ Сообщение было отмечено fatalnoob как решение

Решение

<?php
// Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru
$content = get_content();
// Разбираем содержимое, при помощи регулярных выражений
$pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i";
preg_match_all($pattern, $content, $out, PREG_SET_ORDER);
$dollar = "";
$euro = "";
foreach($out as $cur)
{
if($cur[2] == 840) $dollar = str_replace(",",".",$cur[4]);
if($cur[2] == 978) $euro = str_replace(",",".",$cur[4]);
}
$dollarr =$dollar*1.02; //рассписал что бы понятно было
echo "Курс доллара ".$dollar."<br />"; // вывод курса доллара
echo "Курс доллара +2% ".$dollarr."<br />"; //вывод доллара +2%
function get_content()
{
// Формируем сегодняшнюю дату
$date = date("d/m/Y");
// Формируем ссылку
$link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date";
// Загружаем HTML-страницу
$fd = fopen($link, "r");
$text="";
if (!$fd) echo "Запрашиваемая страница не найдена";
else
{
// Чтение содержимого файла в переменную $text
while (!feof ($fd)) $text .= fgets($fd, 4096);
}
// Закрыть открытый файловый дескриптор
fclose ($fd);
return $text;
}
?>
0
1 / 1 / 0
Регистрация: 21.11.2014
Сообщений: 47
11.02.2015, 14:04  [ТС] 5
Спасибо!
А как реализовать так, чтобы в echo "".$dollarr." выводилось 4 значения после запятой?
В настоящий момент выводится 6 знаков после запятой...
0
Эксперт PHP
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
11.02.2015, 15:46 6
Лучший ответ Сообщение было отмечено fatalnoob как решение

Решение

number_format().
0
1 / 1 / 0
Регистрация: 21.11.2014
Сообщений: 47
11.02.2015, 17:21  [ТС] 7
Спасибо!
0
0 / 0 / 2
Регистрация: 05.12.2014
Сообщений: 5
11.02.2015, 22:50 8
Лучший ответ Сообщение было отмечено fatalnoob как решение

Решение

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php 
// Получаем текущие курсы валют в rss-формате с сайта www.cbr.ru 
$content = get_content(); 
// Разбираем содержимое, при помощи регулярных выражений 
$pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i"; 
preg_match_all($pattern, $content, $out, PREG_SET_ORDER); 
$dollar = ""; 
$euro = ""; 
foreach($out as $cur) 
{ 
if($cur[2] == 840) $dollar = str_replace(",",".",$cur[4]); 
if($cur[2] == 978) $euro = str_replace(",",".",$cur[4]); 
} 
$dollarr =$dollar*1.02; //рассписал что бы понятно было
echo "Курс доллара ".$dollar."<br />"; // вывод курса доллара
echo "Курс доллара +2% ".round($dollarr, 4)."<br />"; //вывод доллара +2%
function get_content() 
{ 
// Формируем сегодняшнюю дату 
$date = date("d/m/Y"); 
// Формируем ссылку 
$link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date"; 
// Загружаем HTML-страницу 
$fd = fopen($link, "r"); 
$text=""; 
if (!$fd) echo "Запрашиваемая страница не найдена"; 
else 
{ 
// Чтение содержимого файла в переменную $text 
while (!feof ($fd)) $text .= fgets($fd, 4096); 
} 
// Закрыть открытый файловый дескриптор 
fclose ($fd); 
return $text; 
} 
?>
0
1 / 1 / 0
Регистрация: 21.11.2014
Сообщений: 47
12.02.2015, 07:54  [ТС] 9
У меня вышло так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php 
$content = get_content(); 
$pattern = "#<Valute ID=\"([^\"]+)[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)[^>]+>[^>]+>([^<]+)#i"; 
preg_match_all($pattern, $content, $out, PREG_SET_ORDER); 
$dollar = ""; 
$euro = ""; 
foreach($out as $cur) 
{ 
if($cur[2] == 840) $dollar = str_replace(",",".",$cur[4]);
if($cur[2] == 978) $euro = str_replace(",",".",$cur[4]); 
} 
$dollarr =$dollar*1.02;
$dollarr = number_format($dollarr, 4, '.', '');
echo "".$dollarr."<br />"; 
function get_content() 
{
$date = date("d/m/Y");
$link = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=$date";
$fd = fopen($link, "r"); 
$text=""; 
if (!$fd) echo "Запрашиваемая страница не найдена"; 
else 
{
// Чтение содержимого файла в переменную $text 
while (!feof ($fd)) $text .= fgets($fd, 4096); 
}
// Закрыть открытый файловый дескриптор 
fclose ($fd); 
return $text; 
} 
?>
0
12.02.2015, 07:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.02.2015, 07:54
Помогаю со студенческими работами здесь

Краткий курс по изучению PHP Помогите
Помогите разобраться в PHP все пишут что очень легкий язык но я не могу толком представить как он...

Курс доллара
Составить программу «Курс доллара», позволяющую выполнять построение столбчатой диаграммы, графика...

Программа «Курс доллара»
Добрый день. Нужно реализовать такую задачу: &quot;Возле надписи «сегодня» должна появиться текущая...

Курс Доллара Тинькофф
Здравствуйте, как получить курс доллара c сайта https://www.tinkoff.ru/about/exchange/ В пункте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru