За последние 24 часа нас посетили 22974 программиста и 1724 робота. Сейчас ищут 1711 программистов ...

Нужно после точки только 2 цифры, а не больше

Тема в разделе "Сделайте за меня", создана пользователем turber, 3 окт 2014.

  1. turber

    turber Новичок

    С нами с:
    27 ноя 2013
    Сообщения:
    54
    Симпатии:
    0
    Привет! Собрал рабочий код что хотел! Прошу помочь!
    При запуске - получаем:
    1 бат = 1.2223 руб. :: 1 бат = 0.4136 грн. :: 1 бат = 327.4353 бел. руб. :: 1 бат = 5.5989 тенге

    СОБСТВЕННО ВОПРОС - нужно получать такой ответ:
    1 бат = 1.22 руб. :: 1 бат = 0.41 грн. :: 1 бат = 327.43 бел. руб. :: 1 бат = 5.59 тенге

    То есть что бы после точки было только 2 цифры... Прошу помочь!
    Вывожу этим echo currency('THB', 'RUB', 1);

    Код (Text):
    1. <?php
    2. header('Content-Type: text/html; charset=utf-8');
    3.  
    4. function currency($from, $to, $amount)
    5. {
    6.    $content = file_get_contents('https://www.google.com/finance/converter?a='.$amount.'&from='.$from.'&to='.$to);
    7.  
    8.    $doc = new DOMDocument;
    9.    @$doc->loadHTML($content);
    10.    $xpath = new DOMXpath($doc);
    11.  
    12.    $result = $xpath->query('//*[@id="currency_converter_result"]/span')->item(0)->nodeValue;
    13.  
    14.    return str_replace(' '.$to, '', $result);
    15. }
    16.  
    17. echo '1 бат = ', currency('THB', 'RUB', 1), ' руб.';
    18.  
    19. echo ' :: 1 бат = ', currency('THB', 'UAH', 1), ' грн.';
    20.  
    21. echo ' :: 1 бат = ', currency('THB', 'BYR', 1), ' бел. руб.';
    22.  
    23. echo ' :: 1 бат = ', currency('THB', 'KZT', 1), ' тенге';
    24.  
    25. ?>
     
  2. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Че это у тебя за оператор в echo? Запятые какие-то... Это у тебя так конкатенация работает?

    http://php.ru/manual/function.round.html
     
  3. turber

    turber Новичок

    С нами с:
    27 ноя 2013
    Сообщения:
    54
    Симпатии:
    0

    Ну да.
    Могу конечно так:

    { echo "1 бат = ";
    }
    echo currency('THB', 'RUB', 1);
     
  4. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Эхо это языковая конструкция. можно вместо конкатенации использовать запятые. будет даже быстрее
     
  6. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Ничессе, я и не знал)
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    век живи - век лечись
     
  8. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    учись было бы не так грубо)
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    к сожалению, это не грубость, а сермяжная правда жизни. =(
     
  10. dapperkop

    dapperkop Активный пользователь

    С нами с:
    26 сен 2013
    Сообщения:
    890
    Симпатии:
    0
    Ну чтож, сермяжная так сермяжная... =(
     
  11. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    В данном случае ROUND() нехорошо - лучше number_format().