FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
"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:
Un saludo y gracias: David Rguez. |
#2
|
|||
|
|||
Errata: el Validate es del ADOTable, no del DBGrid.
|
#3
|
||||
|
||||
Supongo usas un campo de tipo double Precision, y este tipo de datos no son muy exactos, si guardas el valor 21.35, internamente se guardará como 21.34999999 ; cuando buscas 21.35 con Locate, no encontrará ese valor. Normalmente se soluciona cambiando el tipo de dato del campo a Numeric o Decimal, pero deberás mirar la documentación de SQL Server a ese respecto.
Si quieres que el punto (el que está en el teclado numérico) se use como una coma, mira este hilo, de hecho, para asignar un valor a sysutils.DecimalSeparator debes hacerlo al principio de la aplicación para que funcione correctamente. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
""" is not a valid floating point value con edit | Petolansa | Varios | 6 | 11-12-2007 00:07:13 |
"floating point overflow" en campocalculado | ANXO | Conexión con bases de datos | 0 | 22-01-2006 16:59:58 |
me da un errror is not valid floating point value en delphi | uper | Firebird e Interbase | 2 | 30-12-2005 10:52:36 |
Error "class String Not Valid" | toro2186 | OOP | 9 | 26-07-2005 16:23:30 |
1,253 is not valid floating point value | soyhugo | Varios | 7 | 14-02-2004 05:40:53 |
|