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 19-05-2006
Avatar de diniremix
diniremix diniremix is offline
Miembro
 
Registrado: abr 2006
Ubicación: Negaverso
Posts: 44
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
Moderador
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.202
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: 620
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
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
Moderador
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.202
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
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
[fer21unmsm] fer21unmsm is offline
Miembro Premium
 
Registrado: dic 2005
Ubicación: Lima
Posts: 620
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
  #8  
Antiguo 19-05-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Moderador
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.202
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
  #9  
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
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
  #10  
Antiguo 19-05-2006
Avatar de diniremix
diniremix diniremix is offline
Miembro
 
Registrado: abr 2006
Ubicación: Negaverso
Posts: 44
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
  #11  
Antiguo 20-05-2006
samantha jones samantha jones is offline
Miembro
 
Registrado: ago 2004
Posts: 46
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
  #12  
Antiguo 20-05-2006
Avatar de diniremix
diniremix diniremix is offline
Miembro
 
Registrado: abr 2006
Ubicación: Negaverso
Posts: 44
diniremix Va por buen camino
hola
sip!!
gracias samantha sabes eres la primera chica q veo en este foro ahh sip y caro eso es seguir adelante, mujeres como tu necesita el software libre!!

vivan la mujeres.... las dueñas de los hombres!!!
__________________
Diniremix ;)
Responder Con Cita
  #13  
Antiguo 20-05-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Moderador
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.202
marcoszorrilla Va por buen camino
Sé que estais pensando como es la Taberna, mobiliario, barra, aspecto.... he econtrado un enlace con una taberna que se parece en su aspecto mucho a la nuestra.

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
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

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 14:09:16.


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