Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2013, 03:11
Himanchu
 
Fecha de Ingreso: mayo-2013
Ubicación: Algeciras
Mensajes: 4
Antigüedad: 11 años
Puntos: 0
Divisiones en php

Buenas a todos!

En primer lugar me presento, soy Javi, un nuevo miembro de la comunidad que no sabe mucho sobre pHp pero con bastantes ganas de aprender =D.

Os comento lo que me pasa:

A través de pHp, estoy leyendo un feed el cual se actualiza cada minuto y en el que aparece un número. El número en cuestión soy capaz de obtenerlo sin problemas y mostrarlo en una tabla, pero a la hora de trabajar con él, me da ciertos problemas.

Lo que trato de hacer es obtener el precio de un gramo de oro dependiendo de su quilate, pero las divisiones no me salen del todo bien (aún siendo algo sencillo xD).

Pongo el código que utilizo y comento lo que me pasa:


Cita:
<?php
Este es el feed del que obtengo el precio
$valor = simplexml_load_file('https://www.igolder.com/GoldData.ashx?type=Historical&hours=24&currency=EU R&tz=Romance%20Standard%20Time&unit=gr&output=xml' );

$precio = $valor->Price['Value']; Este es el valor que obtengo del feed (está correcto)

Ahora lo que hago es una sencilla regla de tres: si 999 milésimas de oro por gramo (24 quilates) son, por ejemplo, 35.50 euros (este valor está contenido en la variable $precio), 958 milésimas (que es el siguiente quilate más bajo) será x. Entonces multiplico el precio por 958 y lo divido entre 999 (esta división la hago más abajo, a la hora de mostrarlo en tabla)

$kt23 = ($precio*958); Preparo el valor de 23 quilates para sólo tener que dividir entre 999 más tarde
echo '<table border="1">';
echo '<tr>';
echo '<td>24</td>'; Estos son los quilates
echo '<td>999</td>';Milésimas de oro por gramo
echo '<td>'.$precio.'</td>'; Este es el precio que consigo mostrar correctamente
echo '</tr>';

echo '<tr>';
echo '<td>23</td>';
echo '<td>958</td>';
echo '<td>'.number_format($kt23/999, 2, '.', '').'</td>'; Aquí viene el problema, la división debería dar como resultado un 34,04, sin embargo está dando 33,56 además de que no varía cuando se actualiza el valor contenido en $precio
echo '</tr>';
echo '</table>';

?>
Lo he comprobado, y añadiendo yo el precio "a pelo", si obtengo el resultado correcto de la división, sin embargo, a la hora de trabajar con el precio que obtengo del feed, me da problemas y no divide correctamente.

A ver si alguno tenéis idea de qué ocurre.