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 20-12-2006
Avatar de EmsA-Tec
EmsA-Tec EmsA-Tec is offline
Registrado
 
Registrado: dic 2006
Ubicación: Me gustaría saberlo...
Posts: 8
Poder: 0
EmsA-Tec Va por buen camino
Arrow Funciones para Redondear

Buenos días a tod@s, me gustaría que alguien me explicase como puedo puedo redondear los decimales de un Integer.

Gracias por la ayuda!
Responder Con Cita
  #2  
Antiguo 20-12-2006
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
usá round(x) o trunc(x) donde x es una variable real o float;
Responder Con Cita
  #3  
Antiguo 20-12-2006
JF Sebastian JF Sebastian is offline
Miembro
 
Registrado: oct 2006
Posts: 108
Poder: 18
JF Sebastian Va por buen camino
tambien puedes usar ceil(x) y floor(x) para redondear a la alza o a la baja
Responder Con Cita
  #4  
Antiguo 20-12-2006
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
y si solo quieres "mostrar" redodenado utilizas la funcion formatfloat
Código Delphi [-]
Label1.caption :=FormatFloat('###,###.##',NumReal);
Responder Con Cita
  #5  
Antiguo 21-12-2006
Avatar de EmsA-Tec
EmsA-Tec EmsA-Tec is offline
Registrado
 
Registrado: dic 2006
Ubicación: Me gustaría saberlo...
Posts: 8
Poder: 0
EmsA-Tec Va por buen camino
Smile Sufucientes respuestas...

Grácias a tod@s, a ver si de esta no se me olvida.
Nota, esta web parece funcionar a la perfección, tiempo record!!!

Última edición por EmsA-Tec fecha: 21-12-2006 a las 18:58:08.
Responder Con Cita
  #6  
Antiguo 21-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Pues falta la opción más simple: Ninguna, ya que un Integer no tiene decimales

Además de rápidos, algunos foristas tienen bolas mágicas , otros como yo, solo tienen algo de humor

Edito: Este era mi mensaje nº 3.666
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 21-12-2006 a las 20:30:12.
Responder Con Cita
  #7  
Antiguo 21-12-2006
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
ja ja ja

mira que tienes razon
Responder Con Cita
  #8  
Antiguo 21-12-2006
Avatar de EmsA-Tec
EmsA-Tec EmsA-Tec is offline
Registrado
 
Registrado: dic 2006
Ubicación: Me gustaría saberlo...
Posts: 8
Poder: 0
EmsA-Tec Va por buen camino
Talking e k toi tnto!

Cometo faltas de ortografía, y si no empleo el Delphi durante un periodo de 6 años (el 31 del 12 es mi cumple ¡21!), digamos se me olvidan algunas cosas...

Bueno, el tema surgió por que tenía que realizar un cálculo con 2 “integres” en división, el resultado, tal como os habréis imaginado entra en una variable de tipo Real; como persona con nivel digno de “MENSA” he aplicado mis conocimientos para la resolución de problemas, el cálculo fuera empleando un “FloatToStr”, un “Edit”, y un real... diera la orden al “Edit”, una vez recogido el valor con "infinitos" decimales: recoger el Nº completo anterior de la coma (la coma es un “Char” a lo igual que el resto), y luego tantos caracteres como quisiese, bueno, decimales posteriores al "elemento mágico"... y todo eso encapsulado en un Real.

Creo que después de leer este rollo hay alguien pensando "¡Que moñas el tío!, un ####### no puede picarse con una tontería", por favor, me encanta andar de "cachondeo", pero por favor, hay formas más sutiles de reírse de/con alguien, y si os queréis reír de forma burda, primero estad dentro de la conversación.

Gracias por vuestra atención.

[CI de 132 calculado por la Dispersión 15(lógica)]
Responder Con Cita
  #9  
Antiguo 22-12-2006
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por EmsA-Tec
Bueno, el tema surgió por que tenía que realizar un cálculo con 2 “integres” en división, el resultado, tal como os habréis imaginado entra en una variable de tipo Real; como persona con nivel digno de “MENSA” he aplicado mis conocimientos para la resolución de problemas, el cálculo fuera empleando un “FloatToStr”, un “Edit”, y un real... diera la orden al “Edit”, una vez recogido el valor con "infinitos" decimales: recoger el Nº completo anterior de la coma (la coma es un “Char” a lo igual que el resto), y luego tantos caracteres como quisiese, bueno, decimales posteriores al "elemento mágico"... y todo eso encapsulado en un Real.
Espero entender lo que necesitas, puedes usar la funcion Format() para realizar lo que quieres. Aqui te muestro un pequeño ejemplo.

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
Var
  Entero1,Entero2: Integer;
  Resultado: Real;
begin
  Entero1 := 150;
  Entero2 := 7;
  Resultado := entero1 / entero2;
  Edit1.Text := Format('%8.6f',[Resultado]);
end;

Cita:
Empezado por EmsA-Tec
Creo que después de leer este rollo hay alguien pensando "¡Que moñas el tío!, un ####### no puede picarse con una tontería", por favor, me encanta andar de "cachondeo", pero por favor, hay formas más sutiles de reírse de/con alguien, y si os queréis reír de forma burda, primero estad dentro de la conversación.
Hombre, un poco de humor no debe de hacerte daño, bienvenido al foro, relajate un poco y date una vuelta por la taberna, estamos de fiesta de Navidad y Año nuevo.

Saludos.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #10  
Antiguo 22-12-2006
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Relei el hilo para entender un poco lo que dices en esta parte

Cita:
"¡Que moñas el tío!, un ####### no puede picarse con una tontería"
Y viendo llegue a la respuesta de Onti


Código Delphi [-]
Label1.caption :=FormatFloat('###,###.##',NumReal);





Si es esto a lo que te referias en tu queja, pues dejame decirte que es la respuesta exacta a lo que preguntaste en el inicio y no una manera burda de reirse de alguien.

Cita:
Buenos días a tod@s, me gustaría que alguien me explicase como puedo puedo redondear los decimales de un Integer.
Cuando explicas lo que quieres entonces ya cambia el sentido de tu problema y ya aportas mas datos para una respuesta mas acertada.

Pues nada, insisto, no pierdas el sentido del humor que no hace daño, date una vuelta por la Taberna y de paso leete las guias de estilo que tenemos en el foro y que son altamente recomendadas a los nuevos integrantes.

La guía de estilo

La otra guía de estilo

Saludos.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #11  
Antiguo 22-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
EmsA-Tec no pretendía ofenderte ni nada parecido, si nadie hubiera contestado a tu duda, por supuesto te hubiese dado la solución, porque se entiende perfectamente lo que querías decir.

Fijaté que edité el mensaje para indicar mi número de mensajes (terminado en 666), así que me permití la excedencia de contestar diabolicamente

Felices Fiestas y seguimos de buen rollo en la taberna

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #12  
Antiguo 22-12-2006
Avatar de EmsA-Tec
EmsA-Tec EmsA-Tec is offline
Registrado
 
Registrado: dic 2006
Ubicación: Me gustaría saberlo...
Posts: 8
Poder: 0
EmsA-Tec Va por buen camino
Thumbs down mmm... creo que nadie me entiende... jejejejejejejeje

En la siguiente expresión creo ver un algo de NumReal, en dónde NumReal significa número real...Label1.caption :=FormatFloat('###,###.##',NumReal);…y yo os pregunto, mortales: “¿Si un integer es una veriable que no contiene decimales…? Bueno, que sucede en el siguiente caso???”:
Label1.caption :=FormatFloat('###,###.##',(TheInteger/5)); Lo llamo String, pero bueno… creo que al final es cierto que es mejor llamarlo “X”… jejejejejejejejeje Lepe, no era por atacar, ni tenía motivos para hacerlo, pero es que tu 666 me había poseído; jejejejeeBueno, (a tod@s), disculpad por haber montado un rollo de una hoja de papel higiénico, pero es que me daba por pensar que podría surgir algo de sobre-explotación de unas risas.Y deciros que no os corteis por mí , no deseaba que terminase así…
La verdad es que ya he descubierto el problema, los gallegos cuándo escribimos en castellano acortamos algunas cosas, como por ejemplo mi primera frase, debí poner que era el resultado de un integer, y ná más...

Última edición por EmsA-Tec fecha: 22-12-2006 a las 19:13:12. Razón: Bug detectado por el cual se desvió todo, [no altero el problema]
Responder Con Cita
  #13  
Antiguo 22-12-2006
Avatar de EmsA-Tec
EmsA-Tec EmsA-Tec is offline
Registrado
 
Registrado: dic 2006
Ubicación: Me gustaría saberlo...
Posts: 8
Poder: 0
EmsA-Tec Va por buen camino
Question Podría algún administrador hacer algo???...

Santos Admins que conectais directamente con el servidor, admins que estais en vuestras oscuras oficinas escuchad mi plegaria..., (esto me recuerda algo llamado rezar ). ¿podrías evitar que entrase alguien nuevo a la conversa, o almenos purgarla?... es que me da algo de palo...
Responder Con Cita
  #14  
Antiguo 22-12-2006
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Solo por esto
Cita:
¿podrías evitar que entrase alguien nuevo
Vuelvo a entrar !!



Y solo para decirte que aqui no hay problema alguno
y por nada mas levanta tu copa y brindemos por esta fiestas
Responder Con Cita
  #15  
Antiguo 22-12-2006
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
Perdón por mi injerencia pero no entiendo cual es el problema.

¿Te sientes mal por las bromas o por no haber resuelto el problema por ti mismo y haber preguntado en el foro?
Responder Con Cita
  #16  
Antiguo 22-12-2006
Avatar de EmsA-Tec
EmsA-Tec EmsA-Tec is offline
Registrado
 
Registrado: dic 2006
Ubicación: Me gustaría saberlo...
Posts: 8
Poder: 0
EmsA-Tec Va por buen camino
Lightbulb repito... ¿como, huaaaaaa!!!!

Cita:
Empezado por Onti
Solo por esto Vuelvo a entrar !!



Y solo para decirte que aqui no hay problema alguno
y por nada mas levanta tu copa y brindemos por esta fiestas
Una pregunta Si vuelves entrar es por que ya has entrado antes, ¿no?
jijiijijijijijijijijiji

bueno, si todo el mundo está loco, es que realmente soy yo el loco, ¿no? ¡non hai quen me entenda do que falo!
Responder Con Cita
  #17  
Antiguo 22-12-2006
Avatar de EmsA-Tec
EmsA-Tec EmsA-Tec is offline
Registrado
 
Registrado: dic 2006
Ubicación: Me gustaría saberlo...
Posts: 8
Poder: 0
EmsA-Tec Va por buen camino
Cita:
Empezado por Robert01
Perdón por mi injerencia pero no entiendo cual es el problema.

¿Te sientes mal por las bromas o por no haber resuelto el problema por ti mismo y haber preguntado en el foro?
¿como? , es que me parece que esto no es una animalada, es algo mayor!!!,me lo estoy pasando de p. madre
¡haber de que acabamos hablando!; cierto es que el tema es el redondeo, pero de tanto rodar acabamos englobando todo como 1!!!
Responder Con Cita
  #18  
Antiguo 23-12-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
Empezado por EmsA-Tec
Label1.caption :=FormatFloat('###,###.##',NumReal);…y yo os pregunto, mortales: “¿Si un integer es una veriable que no contiene decimales…? Bueno, que sucede en el siguiente caso???”:
Label1.caption :=FormatFloat('###,###.##',(TheInteger/5));[/color]
Cuando utilizas la división con el operador div Ej: 5 div 2; el resultado es un tipo Integer, ya que se hace una división entera.

Al usar el operador "/" el resultado es un número real.

Podrás usar tipos Double, Real, extended según necesites, mira en la ayuda de "Double" por ejemplo, y verás el máximo y mínimo que se pueden almacenar

Ya puestos, quizás te interese más la máscara ",#0.00" en lugar de tantas almohadillas, por el hecho de que donde hay un cero, siempre obtendrás un dígito.

Ejemplo:
Formatfloat(',#,##', 123.00) -> el resultado será 123
Formatfloat(',#,00', 123.00) -> el resultado será 123.00 muy útil para que queden alineados los decimales siempre.

PD: No me queda claro que haya resuelto tu duda... si quieres aclarar algo, tírame una piedra .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #19  
Antiguo 23-12-2006
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Lepe si dices :
Cita:
tírame una piedra
Entonces

toma

and

FELIZ NAVIDAD A TI Y A TO2


byte
Responder Con Cita
  #20  
Antiguo 23-12-2006
Avatar de EmsA-Tec
EmsA-Tec EmsA-Tec is offline
Registrado
 
Registrado: dic 2006
Ubicación: Me gustaría saberlo...
Posts: 8
Poder: 0
EmsA-Tec Va por buen camino
Thumbs down ¿Duda?

Me estoy perdiendo, ¿alguien tiene alguna duda?
jejejejeje
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Funciones para el puerto paralelo Antuan Varios 1 20-10-2005 17:40:22
Función para redondear números reales Dexter182 Varios 6 13-10-2005 03:58:33
Funciones comunes para CLX y VCL salvica OOP 7 03-10-2005 21:41:55
Que api debo utilizar para que mi proyecto me reconozca las funciones de ODBC para My Shidalis API de Windows 1 23-08-2005 16:35:02
Funciones para novatos... Xianto OOP 4 02-10-2004 04:28:00


La franja horaria es GMT +2. Ahora son las 15:44:27.


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