Показать сообщение отдельно
  #9 (permalink)  
Старый 03.01.2017, 18:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

$sbr_usd = 60.6569;
$sbr_eur = 62.9576;

if($forex = file_get_contents('http://informers.forexpf.ru/export/euusrub.js')) {
    if(preg_match_all('#\d{1,}\.\d{1,}#', $forex, $forex)) {
        $usd = $forex[0][0];
        $eur = $forex[0][2];
        echo 'Forex USD = ' . $usd . ', difference = ' . round($usd - $sbr_usd, 3) . '<br>' .
             'Forex EUR = ' . $eur . ', difference = ' . round($eur - $sbr_eur, 3);
    } else echo 'Empty';    
} else echo 'No connect';


Потому, что курс не обязательно nn.три_знака, а -0.090899999999998 это не баг, а точность которая обеспечивается разрядностью языка и платформы.
Ответить с цитированием