Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-09-2004
pablomg8 pablomg8 is offline
Miembro
 
Registrado: mar 2004
Posts: 23
Poder: 0
pablomg8 Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 16-09-2004
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 16-09-2004
pablomg8 pablomg8 is offline
Miembro
 
Registrado: mar 2004
Posts: 23
Poder: 0
pablomg8 Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 16-09-2004
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Ok, prueba esto:
Código:
 Numero_con_2_decimales := StrToFloat(FormatFloat('#.##',Numero_con_Muchos_decimales));
Responder Con Cita
  #5  
Antiguo 16-09-2004
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
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;
Responder Con Cita
  #6  
Antiguo 16-09-2004
pablomg8 pablomg8 is offline
Miembro
 
Registrado: mar 2004
Posts: 23
Poder: 0
pablomg8 Va por buen camino
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
Responder Con Cita
  #7  
Antiguo 16-09-2004
pablomg8 pablomg8 is offline
Miembro
 
Registrado: mar 2004
Posts: 23
Poder: 0
pablomg8 Va por buen camino
perdona no había visto la función, voy a probarla
Responder Con Cita
  #8  
Antiguo 16-09-2004
pablomg8 pablomg8 is offline
Miembro
 
Registrado: mar 2004
Posts: 23
Poder: 0
pablomg8 Va por buen camino
Ya está.


Muchas gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 12:14:29.


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
Copyright 1996-2007 Club Delphi