Tengo valores con coma, los remplazo por punto y no lo reconoce como float

  • Autor Autor WWWW
  • Fecha de inicio Fecha de inicio
WWWW

WWWW

VIP
Pi
Verificación en dos pasos activada
Suscripción a IA
Hola amigos.

Tengo una cadena la cuela tiene varlores en coma, *47,514 *584,21 lo que los separa es un signo

Entonces remplazo esta coma con un punto para volverlo "numeros" *47.514 *584.21

Pero al volverlo array apartir del signo (*)

47.514
584.21

Y quiero operar con uno de ellos por ejemplo


47.514+100

El resultado es: 100

ya intente poner (float) antes de la variable y nada.

Alguna solución para obtener todos los valores de punto flotante desde la cadena *47,514 *584,21 y sean operables ?

Gracias. :encouragement:
 
no probaste con floatval?...es raro... la suma tendria que funcionar igual, por mas que sea tomado como string, si es solo numero tendria que tomarlo bien

ejemplo
PHP:
echo " 47.514 " + 100; //me muestra: 147.514

algo te esta quedando en la cadena o algo le estas metiendo mal... ya que si queda algo en el string que sea tomado 100% string (ejemplo: "a47.514 ") el resultado si sera 100... pero si no tiene nada mas que los numeros el string, te tendria que mostrar el resultado
 
no probaste con floatval?...es raro... la suma tendria que funcionar igual, por mas que sea tomado como string, si es solo numero tendria que tomarlo bien

ejemplo
PHP:
echo " 47.514 " + 100; //me muestra: 147.514

algo te esta quedando en la cadena o algo le estas metiendo mal... ya que si queda algo en el string que sea tomado 100% string (ejemplo: "a47.514 ") el resultado si sera 100... pero si no tiene nada mas que los numeros el string, te tendria que mostrar el resultado

Gracias [MENTION=9679]cicklow[/MENTION]

Si estaba notando que había un   escondido en cada valor...

Pero ahora me muestra esto:

HTML:
  [10]=>
  string(7) "388,22
"
  [11]=>
  string(6) "499,29"
}

Como puede notar el ultimo tiene 6/6 el anterior 7 lo que seria un espacio con saldo, pero no encuentro como remplazar eso ya intente por "\n" y nada.
 
usa trim eso reemplaza los espacios y el salto de linea :encouragement:
 
usa trim eso reemplaza los espacios y el salto de linea :encouragement:

Ni con trim se pudo, pero ya lo solucione.

Solo aplique un foreach con la función que me habías mencionado floatval

HTML:
$nuevosprecios = array();
foreach ($precios as $valor)
   {

$nuevosprecios[] = floatval($valor);

   }

Gracias [MENTION=9679]cicklow[/MENTION] - No te demo una, te debo muchas.... Saludos 😛8:
 
Ni con trim se pudo, pero ya lo solucione.

Solo aplique un foreach con la función que me habías mencionado floatval

HTML:
$nuevosprecios = array();
foreach ($precios as $valor)
   {

$nuevosprecios[] = floatval($valor);

   }

Gracias [MENTION=9679]cicklow[/MENTION] - No te demo una, te debo muchas.... Saludos 😛8:

no es necesario el foreach... usa array_map...
PHP:
array_map('floatval',$precios);

y listo, eso le ejecuta la funcion floatval a cada valor del array 🙂
 
no es necesario el foreach... usa array_map...
PHP:
array_map('floatval',$precios);

y listo, eso le ejecuta la funcion floatval a cada valor del array 🙂

Efectivamente amigo, funciona.

No recordaba esa función de array

Muchas gracias. :encouragement:
 
Atrás
Arriba