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 21-02-2007
CFPA86 CFPA86 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Medellin (Colombia)
Posts: 119
Poder: 21
CFPA86 Va por buen camino
Problema con round()

Hola a todos y todas, tengo un problema al redondear un numero, tengo este codigo
Código Delphi [-]
 var
  Lcant : integer;
  GRegSisPromCon, GRegSisPromLts : string;
  aux :real;
  t : string;
 begin
  Lcant          := 19;
  GRegSisPromCon :=   '1000';
  GRegSisPromLts :=     '5';
  aux :=  Round(19 * 1000/5);  <----- normalmente de 3800
//  aux := round(Lcant * StrToInt(GRegSisPromCon)/ StrToInt(GRegSisPromLts));
//  Str(aux:2:0,t);
  ShowMessage(FloatToStr(aux)); <- resultado de 3800 y no de 4
 end;
Pero si lo hago en una forma sencilla de round(3.8) si me da el resultado de 4 que es lo que necesito, no lo hago asi ya que necesito de las formulas que me generan un resultado, espero que me comprendan y gracias

//Lo edito jhonny para colocar las etiquetas Delphi
__________________
Siempre hay un primer momento para todo.

Última edición por jhonny fecha: 21-02-2007 a las 20:32:33.
Responder Con Cita
  #2  
Antiguo 21-02-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 29
jhonny Va camino a la famajhonny Va camino a la fama
No entiendo porque abría de darte 4 cuando siempre estas multiplicando y dividiendo por los mismos valores...

Pero mas sin embargo y por encima de lo que alcanzo a entenderte te faltaria dividir por 1000 asi:

Código Delphi [-]
 
var
  Lcant : integer;
  GRegSisPromCon, GRegSisPromLts : string;
  aux :real;
  t : string;
begin
  Lcant          := 19;
  GRegSisPromCon :=   '1000';
  GRegSisPromLts :=     '5';
  aux :=  Round((19 * 1000/5)/1000);  <----- normalmente de 3800
//  aux := round(Lcant * StrToInt(GRegSisPromCon)/ StrToInt(GRegSisPromLts));
//  Str(aux:2:0,t);
   
  ShowMessage(FloatToStr(aux)); <- resultado de 3800 y no de 4
end;

Espero te sirva
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
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
truncate y round berfer Firebird e Interbase 3 17-09-2006 20:05:19
Crear una external Function que haga un round RaulChemical Firebird e Interbase 3 16-02-2004 14:18:44


La franja horaria es GMT +2. Ahora son las 21:05:32.


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