[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Странное поведение данных после получения из XML.
b00tanik
Собрался получить евро из курсов ЦБ РФ.
набросал класс:


class ServiceModel {
const t_url = 'http://www.cbr.ru/scripts/XML_daily.asp';

/**
* Получение курса валюты по номеру
*
*
@param int номер валюты $num_code
*
@return array номинал, цена
*/

public function getValute($num_code) {
// сегодняшняя дата
$date = date('d/m/Y');
// адрес запроса
$url = self::t_url."?date_req=".$date;

$res = simplexml_load_file($url);

$row=array();

foreach ($res->children() as $item) {
if($item->NumCode == $num_code) {
$row['nominal'] = (float)$item->Nominal;
$row['price'] = (float)$item->Value;
}
}


return $row;
}
}



где-то есть такой код


$sm=new ServiceModel();
$valute=($sm->getValute(978));
/*$valute['price']=44.195; // <- ЕСЛИ ТАК, ТО ВСЕ В ПОРЯДКЕ!!! */
$good['price']=$good['price']*$valute['price'];
echo ($good['price']);


При good['price'] == 30 и $valute['price']==44.195, товар по идее должен стоить 1325.85(44.195 * 30), а стоит 1320(44 * 30)

Везде уже пытался поставить преобразование типа во (float), но не помогло.

Надеюсь на Вашу поддержку.



Спустя 17 минут, 8 секунд (4.12.2009 - 13:04) Oyeme написал(а):
Попробуй

sprintf("%01.2f",$good['price']);

Спустя 9 минут, 41 секунда (4.12.2009 - 13:13) b00tanik написал(а):
Попробовал:

$sm=new ServiceModel();
$valute=($sm->getValute(978));
// $valute['price']=44.195;
$good['price']=$good['price']*$valute['price'];
$good['price']=sprintf("%01.2f",$good['price']);
echo ($good['price']);


То же самое.

Спустя 13 минут, 17 секунд (4.12.2009 - 13:26) Oyeme написал(а):
$row['price'] = (float)str_replace(",", ".", (string)$item->Value);
$row['nominal'] = (float)str_replace(",", ".", (string)$item->Nominal);


rolleyes.gif

Спустя 2 минуты, 29 секунд (4.12.2009 - 13:29) b00tanik написал(а):
помогло. Спасибо. Можно закрывать тему smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.