Club Delphi  
    FTP   CCD     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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-05-2006
Avatar de diniremix
diniremix diniremix is offline
Miembro
 
Registrado: abr 2006
Ubicación: Negaverso
Posts: 44
Poder: 0
diniremix Va por buen camino
Redondear?

hola a tod@s
a Roman m entere q estas d cumpleaños...

q cumplas hasta q c acaben los numeros para contar

una duda tengo una serie de numeros decimales pero quiero "redondearlos al numero entero + proximo" algo asip
tengo por Ej. 15.3 y convertirlo en 14 por ahí consegui algo pero solo los hace sip estos pasan del ".5" por ej 10.5 ó 13.6 ahí sip los pasa a por ej 11 ó 14 respectivamente.
pero cuando el ".tal" es menor a 5 lo deja en el entero inicial osea 10.4 a el mismo 10 y no a 11!!
help!!
gracias d nuevo a tod@s
__________________
Diniremix ;)
Responder Con Cita
  #2  
Antiguo 19-05-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Mírate este hilo.

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
  #3  
Antiguo 19-05-2006
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Poder: 19
fer21unmsm Va por buen camino
Cita:
Empezado por diniremix
hola a tod@s
a Roman m entere q estas d cumpleaños...

q cumplas hasta q c acaben los numeros para contar

una duda tengo una serie de numeros decimales pero quiero "redondearlos al numero entero + proximo" algo asip
tengo por Ej. 15.3 y convertirlo en 14 por ahí consegui algo pero solo los hace sip estos pasan del ".5" por ej 10.5 ó 13.6 ahí sip los pasa a por ej 11 ó 14 respectivamente.
pero cuando el ".tal" es menor a 5 lo deja en el entero inicial osea 10.4 a el mismo 10 y no a 11!!
help!!
gracias d nuevo a tod@s
Hola diniremix, no entiendo bien tu pregunta ya que dices:

15.3 y convertirlo en 14

y luego

pero cuando el ".tal" es menor a 5 lo deja en el entero inicial osea 10.4 a el mismo 10 y no a 11!!

pero segun lo que entiendo me parece que estas buscando la función:

Ceil -->si quieres más referencias de esta función las puedes encontrar en la ayuda de delphi

Saludos.
Responder Con Cita
  #4  
Antiguo 19-05-2006
Avatar de diniremix
diniremix diniremix is offline
Miembro
 
Registrado: abr 2006
Ubicación: Negaverso
Posts: 44
Poder: 0
diniremix Va por buen camino
Hola fer21unmsn la idea es tratar d "Subir" un decimal a su entero + proximo osea por ej:
10.2 --> 11
6.6 --> 7
etc..
pero encontre uno q lo hace...
pero solo con los q son mayores a ".5" osea
se supone q
10.5 --> 11
5.8 ---> 6
2.4 --> 3 (aqui deberia hacerlo) pero no!!
etc..
y los q son menores los "baja" es decir
9.4 ---> 9!!
4.2 --->4!!
ahaahah!!
ayuda!!
__________________
Diniremix ;)
Responder Con Cita
  #5  
Antiguo 19-05-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Esto creo que no lo hará ninguna función de Delphi, pero puedes construirte una.

Tomas el entero del número en cuestión y se lo restas al propio número si el resultado es mayor de 0 quiere decir que tiene decimales y entonces al entero le sumas uno y ya lo tienes.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 19-05-2006 a las 23:34:07.
Responder Con Cita
  #6  
Antiguo 19-05-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
¿Quieres algo asi?

Código Delphi [-]
function Redondeo(x: Real): Integer;
begin
  if Frac(X) > 0 then
    Result:= Trunc(X) + 1
  else
    Result:= Trunc(X);
end;
Responder Con Cita
  #7  
Antiguo 19-05-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Jeje, pues ya no hace falta que te la construyas, el amigo Seoane te lo da hecho.

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
  #8  
Antiguo 19-05-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Y casi la clavo, esta es la funcion Ceil echa por los amigos de borland:

Código Delphi [-]
function Ceil(const X: Extended): Integer;
begin
  Result := Integer(Trunc(X));
  if Frac(X) > 0 then
    Inc(Result);
end;

Soy de los que siempre intenta reinventar la rueda
Responder Con Cita
  #9  
Antiguo 19-05-2006
Avatar de diniremix
diniremix diniremix is offline
Miembro
 
Registrado: abr 2006
Ubicación: Negaverso
Posts: 44
Poder: 0
diniremix Va por buen camino
hola gracias d nuevo a todos
m intereso una de llonigualker en otro foro

Código Delphi [-]
Function Redondeos(Var Numero: real; Cant: Integer; TipoRedondeo: Char): String;
var
Formato: String;
j: Integer;
Begin
// 'S' o 's' significa Redondeo Simétrico, de lo contrario es Truncado.
if (TipoRedondeo = 's') or (TipoRedondeo = 'S') then
Begin
if Cant = 0 then
Formato := '0'
else
Formato := '0.';
for j:=1 to Cant do
begin
Formato := Formato + '0';
end;
Result := FormatFloat(Formato,Numero);
End
Else
Begin
Result := Copy(FloattoStr(Numero),1,Pos(',',FloattoStr(Numero))-1) + Copy(FloattoStr(Numero),Pos(',',FloattoStr(Numero)),Cant+1);
End;
End;

y d marcoszorrilla

Cita:
originalmente escrito por marcoszorrilla

Otra solución a falta de la función en D5 es multiplicar el número por 1000, extraer la parte entera y volver a dividirlo por 1000.
ahh gracias seoane!!
__________________
Diniremix ;)
Responder Con Cita
  #10  
Antiguo 20-05-2006
samantha jones samantha jones is offline
Miembro
 
Registrado: ago 2004
Posts: 46
Poder: 0
samantha jones Va por buen camino
si le sumas 0.49 al número logras el mismo efecto con el round

Código Delphi [-]
i:=round(numero + 0.49);

Saludos
Responder Con Cita
  #11  
Antiguo 19-05-2006
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 627
Poder: 19
fer21unmsm Va por buen camino
Arrow

Cita:
Empezado por diniremix
Hola fer21unmsn la idea es tratar d "Subir" un decimal a su entero + proximo osea por ej:
10.2 --> 11
6.6 --> 7
etc..
pero encontre uno q lo hace...
pero solo con los q son mayores a ".5" osea
se supone q
10.5 --> 11
5.8 ---> 6
2.4 --> 3 (aqui deberia hacerlo) pero no!!
etc..
y los q son menores los "baja" es decir
9.4 ---> 9!!
4.2 --->4!!
ahaahah!!
ayuda!!
Hola diniremix, exacto la funcióin que te escribi en la respuesta anterior hace eso, la funcion es

Ceil

por ejemplo:
Código Delphi [-]
var
   i: integer;
begin
   i:= ceil(7.2)  //aquí el valor de i va a ser 8
end;

probé tus números y salieron.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Redondear + DBGrid1DrawColumnCell jonmendi Varios 0 23-01-2006 13:04:01
Zeos y Redondear jgutti Internet 0 25-04-2005 17:52:13
Redondear en Builder c++ alt126 C++ Builder 3 04-01-2005 12:27:54
Redondear un DBEdit RyAr Varios 2 04-06-2004 10:27:30
¿¿Redondear números?? Magneto Varios 1 04-12-2003 05:58:00


La franja horaria es GMT +2. Ahora son las 13:05:40.


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