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

  • Autor Autor WWWW
  • Fecha de inicio Fecha de inicio

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
 

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:
 

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: