2012-01-09 73 views
0

我想通过卷曲函数将输出来自xml文件的最多2位小数点数显示出来。我尝试了number_format,printf('%2f',$ number)和sprintf()functon.these显示结果0.00。代码如下。最多显示两位小数点错误的编号

$ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, `http://orbisadvisors.redinews.com/tools/XM01?                          queryid=QJ33020&fields=Last&fields=Change&fields=Chperc&symbol=BSZ`); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $sp= curl_exec ($ch); 
    $sp1=explode(" ",$sp); 
    echo "????".$lsp1=$sp1[4]; 
    printf("%.2f",$lsp1); 
    print_r($sp1); 
    curl_close ($ch); 

如果我使用静态数字代替变量,它会给出正确的结果。

感谢

+0

我检查是字符串类型的输出类型如何将其字符串更改为浮点型? – 2012-01-09 21:36:16

回答

0

您应该使用像SimpleXML库来解析您收到,像下面的XML数据:

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://orbisadvisors.redinews.com/tools/XM01?queryid=QJ33020&fields=Last&fields=Change&fields=Chperc&symbol=BSZ'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$sp= curl_exec ($ch); 
curl_close ($ch);  

$xml = simplexml_load_string($sp); 
$last = sprintf("+%.2f", $xml->Stock->Last); // 1280.70 
+0

Thanks.I也希望agsign关于值的'+'和' - '符号如果值是+然后+ sign其他 - 符号。 – 2012-01-09 21:46:15

+0

@RohitSharma:你只需要在格式字符串中加一个加号('+')。我更新了我的答案以包含此内容。 – 2012-01-09 21:47:53