FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
formatear un float a una longitud maxima
Hola..
Tengo una base de datos que no puedo modificar y me esta aceptando un campo que como maximo me puede albergar 10 caracteres incluido el punto decimal. Como puedo formatear un numero x de forma que lo pueda insertar en la db.. Por ejemplo, como resultado de algun calculo obtengo un valor de: 67456.3456935 y lo que debo guardar entonces será 67456.3456 o redondeado a 67456.3457 234.345 debe quedar igual 9876543219.234 debe quedar 9876543219 Alguna idea ? |
#2
|
||||
|
||||
Se me ocurre que usando las funciones FloatToStr y Copy se puede conseguir fácilmente.
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Creo que se refiere a PHP donde hay funciones como Round. Pero, sinceramente, hay un problema de diseño aquí. No puedes alterar la base, ya lo has dicho, pero ¿de qué sirve guardar datos a los que puedes tranquilamente cepillarle la parte fraccionara en algunos casos, y no digamos ya números con más de diez dígitos enteros? Podrás guardar los datos, pero de poco te servirá. Vaya, que suena raro.
// Saludos |
#4
|
|||
|
|||
comentarios
Hola compañeros.
Gracias por sus comentarios... jachguate: hay alguna manera de implementar eso en php ? roman: en cuanto a lo del error de diseño me inclinaría por pensar que no existe tal error....porque viendolo de la siguiente manera: Si el resultado de alguna operación es un entero que tiene diez cifras, la parte decimal para ese numero que ya es un poco grande, tiende a ser insignificante comparativamente....si ese resultado fuera mayor que diez cifras...se hace la validación correspondiente indicando que la cifra no es viable para la función que se está implementando.... Si por el contrario ese resultado es algo tan pequeño del orden de 0.xxxxxxxx es posible recortarle los digitos que estan más a la derecha y para los efectos de la aplicación no tendrá mayor relevancia tal recorte.... El problema está cuando existe una parte entera y una decimal, suponiendo que el calculo arroje un numero con una parte decimal demasiado grande pero la parte entera este dentro del rango permitido por la función a la que se le quiere hacer llegar ese resultado... si por decir algo el numero fuera 45677.3333333333333333333333333333 es viable recortar ese numero a 45677.3333 para que pueda ser mas adelante tomado por una funcion que lo requiera. Para la aplicación...el numero maximo que se le puede entrar es de 9999999999 por lo tanto, 99999999.34847565 es un número válido, pero en la base de datos solo podría almacenar 99999999.3 por su limitante de 10 caracteres. Nuevamente agradezco cualquier comentario o ayuda al respecto... |
#5
|
||||
|
||||
Lamento la confusión, no me di cuenta que se trataba de php, pero según recuerdo, en este existe la función substr, que es mas o menos equivalente al copy de pascal.
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Longitud maxima de un array tipo string!! | cristian_abb | Varios | 5 | 25-07-2006 23:53:39 |
Formatear fechas y float | selman | Firebird e Interbase | 1 | 13-07-2006 03:41:31 |
Longitud Maxima Para Un Input->text | CARLOS E | HTML, Javascript y otros | 1 | 10-06-2006 00:10:05 |
Longitud máxima para una consulta SQL | moesis | Conexión con bases de datos | 3 | 17-08-2004 23:54:43 |
Longitud maxima integer | cinecito | Varios | 10 | 12-05-2004 03:06:22 |
|