SimpleXMLElement 值到 int
SimpleXMLElement value to int
我对 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" 作为整数。
我尝试了 (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 returns 0
不确定您尝试过的所有内容,因为没有 posted 代码,但是通过查看您的 post,您可能搞砸了:
$NewVariableName= (int) $StringVariableThatNeedsToBeChanged;
echo $NewVariableName; //This is the new variable as an integer
您需要创建一个新变量,它将作为一个新的整数值发生。
字符串的主要问题是它是欧洲格式,使用逗号作为小数点分隔符而不是小数点。
因此,您必须先将 ,
替换为 .
$num = floatval( str_replace( ',','.', $position->kurs_sredni ) );
我对 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" 作为整数。
我尝试了 (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 returns 0
不确定您尝试过的所有内容,因为没有 posted 代码,但是通过查看您的 post,您可能搞砸了:
$NewVariableName= (int) $StringVariableThatNeedsToBeChanged;
echo $NewVariableName; //This is the new variable as an integer
您需要创建一个新变量,它将作为一个新的整数值发生。
字符串的主要问题是它是欧洲格式,使用逗号作为小数点分隔符而不是小数点。
因此,您必须先将 ,
替换为 .
$num = floatval( str_replace( ',','.', $position->kurs_sredni ) );