SimpleXMLElement(string)转换不按预期工作

时间:2016-09-28 15:44:42

标签: php casting simplexml

这是SimpleXMLElement的打印:

SimpleXMLElement Object
(
    [Amount] => 6.00
)

这就是我在做的事情:

$amount = (string) $xml->Amount;
echo $amount;

我可以在屏幕上看到 6.00 而没有任何问题,但即使我正在使用强制转换,函数仍会将此值视为0(false)。我仔细检查了如下:

$amount = $xml->Amount;
var_dump($amount);
// Returns » object(SimpleXMLElement)#189 (1) { [0]=> string(4) "6.00" }  

$amount = (string)$xml->Amount;
var_dump($amount);
// Returns » string(4) "6.00"

$amount = (string)$xml->Amount[0];
var_dump($amount);
// Returns » string(4) "6.00" 

它应该工作,但它没有,我不知道为什么。在施法后,我立即使用$ amount来计算一个百分比值,但我总是以$ amount和$ percent结束等于0(零)。

编辑。这是代码的请求部分:

$amount = (string) $xml->Amount;
$amount = $amount / $rate;
$amount = number_format($amount, 2);

$percentage = ($amount * (1 / 100)) + 0.10;         
$percentage = $percentage / $rate;
$percentage = number_format($percentage, 2);

P.S。 $ rate是另一个100%罚款,正确且始终存在的变量。它不是来自SimpleXMLElement。

0 个答案:

没有答案