PHP - extraer de una cadena

 
Vista:
sin imagen de perfil

extraer de una cadena

Publicado por Pili (3 intervenciones) el 15/03/2020 10:38:03
Hola,
Quisiera extraer un número real de una cadena y estoy empleando una expresion regular pero no me sale;
es decir quiero que me salga 3.5. pero me sale sólo 3
Gracias

1
2
3
$Cantidad = '3.5';
 
   echo(floatval( preg_replace('/[^0-9]+./', '', $Cantidad)));
;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

extraer de una cadena

Publicado por Julio (830 intervenciones) el 15/03/2020 10:41:55
Hola.

¿Cómo que extraer un número real de una cadena? Es decir, ¿quieres transformar ese '3.5' en un 3.5?

$Cantidad = (float) '3.5';

¿No?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

extraer de una cadena

Publicado por Pili (3 intervenciones) el 15/03/2020 11:58:58
no, no. Creo que no me expresé bien.
El número está dentro de la una cadena más amplia, por ejemplo :
1
2
3
4
$Texto = ' Total a pagar: 3.5 euros';
 
$Cantidad = (floatval( preg_replace('/[^0-9]+./', '', $Texto)));
echo $Cantidad;

Esto arroja 35, no 3.5 como pretendía. El problema es el punto (.) en la expresión regular, que no lo pilla.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.994
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

extraer de una cadena

Publicado por Julio (830 intervenciones) el 15/03/2020 12:27:54
Vale, ya te he entendido. Creo que esto te funcionará.

1
2
3
4
$Texto = 'Total a pagar: 3.5 euros';
 
$Cantidad = (float) filter_var( $Texto, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION );
echo $Cantidad;

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

extraer de una cadena

Publicado por Pili (3 intervenciones) el 15/03/2020 12:38:16
Sí.
Muchas gracias.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar