2013-07-26 43 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];