2013-07-26 42 views
-1

尝试INR转换成美元,我的代码是简单的乘法不工作

$url = "http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=INR&ToCurrency=USD"; 
$usd = simplexml_load_file($url); 
echo "1 INR = ".$usd[0] .' USD <br/>'; 
$uusd=$usd[0]; 
echo $uusd * 105; 

它给我0结果,我不知道为什么?

+1

$ usd [0]的值是什么...我假设它是0或者当某个数字变成0时 – Orangepill

+0

'$ usd [0]'的值是0.017,你有没有运行我的脚本? –

+0

无法使用提供的参数进行重现。我得到1.785 – Orangepill

回答

3

你需要转换$ USD [0]浮动:

$url = "http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=INR&ToCurrency=USD"; 
$usd = simplexml_load_file($url); 
echo "1 INR = ".$usd[0] .' USD <br/>'; 
$uusd = floatval($usd[0]); 
echo $uusd * 105; 
+0

是的,它完成了,给你+1并接受你的回答 –

+1

准确地说。 simplexml_load_file返回一个simplexmlelement,它必须在可以正确使用之前进行强制转换。 – 2013-07-26 06:24:25

0

您还没有通过网络服务。所以,它假设金额为0 0 INR = 0美元。

此外,您操作整数值。即使由于某种原因,Web服务返回给您0.017,当转换为整数时,它仍然是0.使用浮点数。

+0

但我在'$ usd [0]'m中获得价值0.017 –

0

使用浮点值作为你的价值是小数

$uusd=(float)$usd[0]; 
0
$url = "http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=INR&ToCurrency=USD"; 
$usd = simplexml_load_file($url); 
echo "1 INR = ".$usd[0] .' USD <br/>'; 
$uusd = (float) $usd[0]; 
echo $uusd * 105; 

您需要强制转换float

$uusd = (float) $usd[0];