-1

INRをUSDに変換しようとすると、私のコードは

$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結果が得られますが、理由はわかりません。

4

4 に答える 4

3

$usd[0] を float に変換する必要があります。

$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;
于 2013-07-26T06:21:08.133 に答える
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];
于 2013-07-26T06:23:03.997 に答える
0

amount が Web サービスに渡されていません。したがって、金額を 0 と見なします。0 INR = 0 USD。

また、整数値を操作します。なんらかの理由で Web サービスが 0.017 を返したとしても、整数に変換すると 0 のままです。float を使用してください。

于 2013-07-26T06:18:39.280 に答える
0

値が小数であるため、float を使用します

$uusd=(float)$usd[0];
于 2013-07-26T06:22:17.717 に答える