SimpleXMLElement值为int

时间:2016-02-07 23:07:05

标签: php simplexml

我有SimpleXMLElement的问题。 这是var_dump我的SimpleXML位置之一:

object(SimpleXMLElement)#42 (4) 
{ 
    ["nazwa_waluty"] => string(14) "rubel rosyjski" 
    ["przelicznik"]  => string(1)  "1" 
    ["kod_waluty"]   => string(3)  "RUB" 
    ["kurs_sredni"]  => string(6)  "0,0514" 
}

我不知道如何将“kurs_sredni”作为一个intiger 我试过了(int) $position->kurs_sredni,但它不起作用 有什么建议吗?

编辑: 这是我的方法。我想把“kurs_sredni”作为一个浮点数:

public function getExchangeRate($currency)
    {
        $filename = 'LastA.xml';
        $filepath = Mage::getBaseDir('base') . '/media/exchangerate/' . $filename;
        $exchangeRateXml = simplexml_load_file($filepath);

        foreach($exchangeRateXml->pozycja as $position){
            if ($position->kod_waluty == $currency) {
                var_dump((float) $position->kurs_sredni);die();
            }
        }
    }

和var_dump返回0

2 个答案:

答案 0 :(得分:1)

不确定您已经尝试过的所有内容,因为没有发布的代码,但是通过查看您的帖子,您可能已经搞砸了:

$NewVariableName= (int) $StringVariableThatNeedsToBeChanged;
echo $NewVariableName; //This is the new variable as an integer

您需要创建一个新变量,该变量将作为新的整数值发生。

答案 1 :(得分:1)

字符串的主要问题是它是欧洲格式,使用逗号作为小数分隔符而不是点。

因此,您首先要将.替换为$num = floatval( str_replace( ',','.', $position->kurs_sredni ) );

[Name][Users][Nicklist][Modes][Topic][etc]
[#Home][50]['Nick1', 'Nick2', 'Nick3', 'etc'][+nt][topic here][more info]
[#Otherchan][10]['Nick1', 'Nick2', 'Nick3', 'etc'][+][topic][more info]