PDA

Ver la Versión Completa : permitir solo dos decimales


jonmendi
12-01-2007, 10:23:04
Hola amig@s!
en la aplicación que estoy haciendo quiero que el usuario solo pueda meter dos decimales. No quiero redondearlo (eso lo hago con el famoso roundto), sino que el usuario no pueda meter más que dos decimales. El campo es tipo float (y debe quedarse así, nada de currencys).

Delphi3, paradox.

Muchas gracias a tod@s por vuestro tiempo!
Jon

Lepe
12-01-2007, 12:38:42
El campo float no es el más adecuado para contabilidad o datos científicos, es más puedes guardar 5.78 y al recuperar el valor obtener un 5.7797332387. Por algo se utiliza el tipo currency, que sólo guarda 2 decimales sin esta restricción.

Si no quieres el símbolo de moneda, en la propiedad del campo (en delphi) puedes eliminar la letra, incluso decir cuantos decimales tiene. Pero esto último ya lo hace delphi al identificar el campo de tu base de datos.

Saludos

jonmendi
12-01-2007, 13:48:52
gracias por responder lepe, pero la tabla que uso ya está creada y rellenada. Una conversión del campo al tipo currency no es viable por múltiples motivos. El problema no está en el guardar, que con el redondeo eso ya está solucionado, sino al meter los datos en el dbgrid.

Gracias de nuevo Lepe.
Jon

Lepe
12-01-2007, 16:30:35
Pues en ese caso, no dejes editar el Grid y añade DBEdits.

El problema del grid ya ha salido en los foros y hasta ahora, no se ha solucionado, el dbgrid, dejará introducir todos los decimales que el usuario quiera.

Otra opción, sería crear un DBEdit oculto y cuando el usuario edite esa celda del grid, incrustar dicho DBEdit dentro de la celda y hacerlo visible.

No sé si te gustará.

Saludos