Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola,
Estou puxando a cotação do dolar por um site para isso utilizei explode, ele puxou direitinho contudo queria multiplicar a cotação por um outro valor, contudo quando faço ele considera o valor retornado pelo explode como zero.
Tentei declarar outra definindo um valor e multiplicando pela $this->valor.
private function getjson(){
$cURL = curl_init( '[http://www.cotacaodolarhoje.com/webservice/](http://www.cotacaodolarhoje.com/webservice/)' );
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
$dados = array( 'apikey' => 'kheggmgiaskuo28l0m91m1p527',
'site' => $_SERVER['HTTP_HOST'] );
curl_setopt($cURL, CURLOPT_POST, true);
curl_setopt($cURL, CURLOPT_POSTFIELDS, http_build_query( $dados ) );
$resultado = curl_exec($cURL);
curl_close($cURL);
$json = explode( "|", $resultado*$valort);
if( $json[0]!="" ):
$this->valor = $json[0];
$this->site = $json[1];
$this->autor = $json[2];
endif;
}Beraldo obigado pela resposta, sou novo no php como utilizo str_replace?
$num = str_replace(',', '.', $num);
Mais exemplos aqui
Beraldo, utilizei o str_replace, ele até alterou de , para ponto, contudo mesmo assim não me retornou um valor
Quando faço qualquer operação na variável $this->valor ela haje como se $json[0] fosse zero, quando retiro a operação ela me retorna normalmente a cotação
$json[0] = str_replace(',', '.', $json[0]);
$this->valor = $json[0];
______________________________________________________________________________________
Valor para <?php echo date('d/m/Y')?> às <?php echo date('H:00')?> pego em
<br/><a href="<?php echo $this->site?>"><?php echo $this->autor?></a>
</div>
</div>
<?
echo $args['after_widget'];
endif;
}
private function getjson(){
$cURL = curl_init( '[http://www.cotacaodolarhoje.com/webservice/](http://www.cotacaodolarhoje.com/webservice/)' );
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
$dados = array( 'apikey' => 'kheggmgiaskuo28l0m91m1p527',
'site' => $_SERVER['HTTP_HOST'] );
curl_setopt($cURL, CURLOPT_POST, true);
curl_setopt($cURL, CURLOPT_POSTFIELDS, http_build_query( $dados ) );
$resultado = curl_exec($cURL);
curl_close($cURL);
$json = explode( "|", $resultado);
if( $json[0]!="" ):
$json[0] = str_replace(',', '.', $json[0]);
$this->valor = $json[0];
$this->site = $json[1];
$this->autor = $json[2];
endif;
}Troque isto:
$this->valor = $json[0];
por isto:
$this->valor = (float) $json[0];
Veja se resolve.
Mais detalhes aqui
Se o número contiver vírgula, ele será truncado ou considerado nulo
Troque vírgula por ponto (use str_replace)