Ver Mensaje Individual
  #1  
Antiguo 12-12-2007
david.rguez david.rguez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Zamora, la bien cercada
Posts: 104
Reputación: 18
david.rguez Va por buen camino
"Not a valid floating point value"

Hola a todos/as:

A ver si podéis ayudarme con este error, que me trae de cabeza ya. Tengo en una BBDD SQL Server una tabla que contiene posibles valores que puede tomar la capacidad de una botella.

Al introducir un registro representando una botella, el usuario tiene que indicar la capacidad de la misma; la cuál tiene que aparecer reflejada en la tabla anterior.

En el Validate del campo correspondiente en el DBgrid que utilizo, le tengo puesto un locate contra la tabla para averiguar si dicho valor está o no está.
Pues bien, ese valor es un tipo "float" y me ocurría (es la primera vez que me ocurre y no sé qué diferencia puede haber con otras veces) que aunque introduzca un valor correcto, el Locate me devuelve false (con lo que salta el mensaje de error que le tengo definido en el código fuente).

Probé a especificar explícitamente antes del locate: DecimalSeparator:=','
Pero no solucionó nada, seguía dando el mismo problema.

Probé a poner un punto (.) en lugar de una coma (,) y aquí empezó a rizarse más el rizo: el DBGrid no me permite poner puntos directamente (si puslo el punto, no escribe nada). Si le pongo la coma al introducir el valor (teniendo incluso el separador como punto), la primera vez me convierte automáticamente la coma en un punto y lo guarda correctamente.

Pero si, posteriormente, quiero modificar ese valor; ya no realiza esa conversión, sino que me salta el siguiente error:
Código PHP:
Project xxxxxx raised exception class EDatabaseError with message ''0,75' is not a valid floating point value for field 'Capacidad'' 
¿Alguna idea de por qué ocurre eso? Yo entiendo el error, lo que no entiendo es por qué la primera vez lo transforma a punto y la segunda ya me da el error (aparte de que tampoco logro comprender por qué el locate no funciona correctamente antes que todo eso).

Un saludo y gracias:

David Rguez.
Responder Con Cita