Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Limitar un single a dos decimales (https://www.clubdelphi.com/foros/showthread.php?t=14313)

pablomg8 16-09-2004 11:58:03

Limitar un single a dos decimales
 
Hola, mi problema es que tengo un dato de tipo single que contiene varios decimales y me gustaría limitar el número de decimales a 2, ¿ existe alguna función en delphi que te permita limitar el número de decimales ?


Gracias. :confused:

defcon1_es 16-09-2004 13:11:50

Hola,
¿te refieres a ver el dato con 2 decimales o a introducir el dato con 2 decimales?
Si es para mostralo al usuario, prueba con FormatFloat pero si es para introducir como máximo 2 decimales, depende del control que uses para ello (tDBEdit, tDBGrid, etc), aunque siempre te quedará como último recurso el evento BeforePost del DataSet para "formatear" el valor de ese campo.

Salu2.

pablomg8 16-09-2004 13:29:56

Realmente lo que quiero hacer es una operacion matematica y el resultado meterlo en un array, pero quiero meterlo en el array solo con dos decimales, no necesito meterlo en ninguna base de datos.


Gracias.

defcon1_es 16-09-2004 13:45:49

Ok, prueba esto:
Código:

Numero_con_2_decimales := StrToFloat(FormatFloat('#.##',Numero_con_Muchos_decimales));

defcon1_es 16-09-2004 14:03:08

Se me olvidó decirte que puedes crearte una función de este estilo:
Código:

function Redondear_a_2_decimales(Valor: Real): Real;
begin
// movemos la come decimal 2 posiciones e ignoramos los decimales restantes
  Valor := Round(Valor * 100); // o también Trunc(Valor*100);
// recuperamos los decimales que queremos
  Valor := Valor / 100;
  Result := Valor;
end;


pablomg8 16-09-2004 14:06:32

no me funciona, el numero es 0,40000000592 y al ponerlo con 2 decimales me sale 0, no se si se te ocurre algo pero gracias de todas formas

pablomg8 16-09-2004 14:09:55

perdona no había visto la función, voy a probarla

pablomg8 16-09-2004 14:27:12

Ya está.


Muchas gracias


La franja horaria es GMT +2. Ahora son las 09:50:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi