Club Delphi  
    FTP   CCD     Enlaces   Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Desplegado
  #1  
Antiguo 11-09-2004
karocs karocs is offline
Miembro
 
Registrado: jul 2004
Posts: 143
karocs Va por buen camino
posiciones decimales

Saludos


Tengo un campo de tipo float pero solo necesito guardar dos cifras decimales
ej: cuando voy a guardar 180,30 me y digo en delphi
fieldByName('campo').asfloat:=strtofloat(cant.text) me guardar un monton de cifras decimales y necesito minimo dos, hay alguna funcion que me permita hacer eso en delphi o que ?

Gracias de antemano
Responder Con Cita
  #2  
Antiguo 11-09-2004
hebert ordonez hebert ordonez is offline
Registrado
 
Registrado: may 2004
Posts: 4
hebert ordonez Va por buen camino
Manipula El Edit

Me Imagino Que El Numero Decimal Que Mencionas Es Producto De Una Operacion Aritmetica Cuyo Resultado Se Expresa En El Edit Que Mencionas, Si Asi Es Lo Que Puedes Hacer Es Lo Siguiente:

Selecciona El Edit Y En La Paleta De Propiedades Busca La Que Se Llama Mask Y Alli Pon ###,###.00 Esto Hara Que Cuando Obtengas El Resultado Solo Te Lo Muestre Con Dos Decimales Y Te Facilite Asi Que Lo Guardes De Esa Manera. Ok
Espero Te Sirva Mi Sugerencia.
Saludos
Responder Con Cita
  #3  
Antiguo 11-09-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Moderador
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.193
marcoszorrilla Va por buen camino
Hace tiempo y con motivo del Euro cree para mi uso esta:

Código Delphi [-]
function RoundEuros(Const X: Double): Double;
var
r:Int64;  //resto
X2:Int64; //número
x1:double;  //resultado
begin
x2:=trunc((abs(x)*1000)+0.5); //Tomo los 3 primeros decimales.

r:=(x2 mod 10);//Compruebo si el 3 decimal es >=5
x2:=trunc(x2/10);//desprecio el tercer decimal

  if r >= 5  then  //Si el 3 decimal era >= 5 sumo 1 al número
          x2:=x2+1;

  x1:=x2/100; //Construyo el número con los 2 decimales

  if x < 0 then
  result:=0 - x1
  else
  result:=x1;

end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 11-09-2004
karocs karocs is offline
Miembro
 
Registrado: jul 2004
Posts: 143
karocs Va por buen camino
Saludos

Gracias por responder.

seleccione el Edit me pero en la paleta de propiedades no aparece Mask, y la coloco en el codigo y no la reconoce.

Gracias..
Responder Con Cita
  #5  
Antiguo 11-09-2004
karocs karocs is offline
Miembro
 
Registrado: jul 2004
Posts: 143
karocs Va por buen camino
saludos nuevamente

probe la funcion de marcoszorilla y si me toma los decimales que quiero, pero yo creo que es le tipo de dato en interbase que es flotante, porque actualizo el registo y me vuelve a traer el monton de decimales.

Muchas gracias..
Responder Con Cita
  #6  
Antiguo 11-09-2004
Avatar de jachguate
jachguate jachguate is offline
Usuario registrado
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.242
jachguate Va por buen camino
Entonces no uses un campo de coma flotante en interbase. Usa un Numeric(x,y)

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #7  
Antiguo 12-09-2004
jaime cotino jaime cotino is offline
Miembro
 
Registrado: ene 2004
Ubicación: Valencia
Posts: 25
jaime cotino Va por buen camino
Yo para que me muestre dos decimales en las propiedades del campo en diplayFormat pongo la mascara que te han pasado y solo me muestra dos decimales. Para ello abres el table que contiene los datos seleccionas el campo que quieres ponerle la máscara y veras que en las propiedades está DisplayFormat
Responder Con Cita
Respuesta


Herramientas
Desplegado

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 23:03:22.


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