Php

Hola
En formulario pido me ingresen valores. Mediante el submit los mando a una página PHP para efectuar cálculos matemáticos pero no me los reconoce como números sino como string, ¿existe alguna función en PHP para convertir string en valores numéricos?
Gracias
Respuesta
1
Puedes postear aquí el código de php para revisarlo

3 respuestas más de otros expertos

Respuesta
1
Primero creo que tienes mal definido los campos del formulario, o sea, por lo que entiendo de tu pregunta, los campos son NUMÉRICOS, y los tienes definidos para que sean CARACTERES.
En PHP, no es necesario definir las variables. Ya que dependiendo del tipo de esta: INTEGER, DOUBLE o STRING, en PHP se adaptan a estos.
Como por ejemplo:
Cuando asignamos a una variable un valor numérico comprendido entre - 2^31 y + 2^31 PHP la interpreta como tipo Integer. (ENTERA)
Ahora respecto a tu pregunta, primero chequea que los campos del formulario sean de tipo ENTERA o REAL.
Antes del código de HTML deberías colocar esto:
<!--webbot bot="Validation" S-Data-Type="Integer" S-Number-Separators="." -->
Esto solo es para validar el campo como entero ! O sea cuando el usuario escribe una letra, el formulario le dice que tiene que insertar un ENTERO.
Bueno lo segundo que puedes hacer en tu PHP es chequearlo, si el numero te lo reconoce como un string puede ser porque todo carácter o numero encerrado entre comillas lo reconoce como un STRING.
Ahora, puedes forzar las variables en PHP para que sean de forma ENTERA, de la siguiente manera:
$b=((integer)4.5);
ó
$b=((int)45);
Producirían el mismo efecto: convertir la variable $b a tipo ENTERA.
Bueno para finalizar, chequea tu PHP, porque la variable donde se están guardando esta mal definida, o sea, si te la esta guardando como STRING es porque debe estar entre comillas (a$="string") y los valores ENTEROS o DOUBLE no se guardan entre comillas:
(a$=12345) PARA ENTERO
(a$=2.343) PARA REAL (DOUBLE)
Bueno espera que te sirva. No dudes en preguntar...
Respuesta
1
Para realizar la conversión de valores lo único que tienes que hacer es un casting como se hace en C. Por ejemplo:
$variable = "5";
$num = (integer) $variable;
Tambien se puede usar la siguiente función:
SetType($variable, "tipo")
donde tipo pongas Integer, String...
Respuesta
1
No se que función estas utilizando pero seria mejor que solo la declares como VAR y esta reconoce expresiones matemáticas

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas