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 28-01-2007
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
Operaciones númericas

Hola a todos,

¿ Como se puede redondear una variable de tipo Extended o Float (creo que es lo mismo) ?.

Os cuento lo que me pasa: despues de hacer unos calculos sencillos de multiplicacion y division, con unas variables las saco por pantalla (convirtiendolas a string), que son por ejemplo 14,2 y 14,2 pues bien la resta natualmente debe de ser cero, pero no es asi es un numero infinitamente pequeño pero lo sufuciente para que en la condicion del if then else me diga que no son iguales.

Asi que he pensado redondearlos, para ver si asi funciona bien.
Responder Con Cita
  #2  
Antiguo 28-01-2007
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
Código Delphi [-]
MiString:=FormatFloat('0.00',NumeroFlotante);

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 28-01-2007
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
Para comparar ambos números puedes usar la función SameValue de la unidad math
Responder Con Cita
  #4  
Antiguo 28-01-2007
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
Muy buen apunte Seone, tengo que reconocer que no sabía de la existencia de esa función.

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
  #5  
Antiguo 28-01-2007
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
Gracias por las respuestas, pero no hay alguna funcion de redondeo.
He probado con Round y RoundTo pero ninguna de las dos funciona como viene en la ayuda.
Responder Con Cita
  #6  
Antiguo 28-01-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Para qué la quieres? A menos que hayas olvidado mencionar algo, la función que comenta seoane es lo que necesitas. Tú mismo estás indicando que ambos valores no son iguales por una pequeña diferencia pero quieres tratarlos como si fuesen iguales. Pues bien, éso es justamente lo que hace SameValue:

Código Delphi [-]
if SameValue(A, B, .001) then
  ShowMessage('Los valores son ''casi'' iguales (no difieren en más de .001)');

// Saludos
Responder Con Cita
  #7  
Antiguo 28-01-2007
emeritos emeritos is offline
Miembro
 
Registrado: may 2003
Posts: 307
Poder: 21
emeritos Va por buen camino
Si me ha servido muy bien, pero necesito el redondeo a tres decimales porque cuando el usuario introduce en un campo edit.text un valor (le obligo a que solo sean numeros y el punto decimal), puede meter mas de 3 decimales y despues en la Base de Datos cuando la miro a traves de Mysql Administrator veo que tienen mas de tres decimales tal y como lo ha introducido el usuario. Y yo quiero que como maximo sean tres decimales.
Responder Con Cita
  #8  
Antiguo 29-01-2007
Robert01 Robert01 is offline
Miembro
 
Registrado: feb 2006
Ubicación: Córdoba, Argentina
Posts: 895
Poder: 19
Robert01 Va por buen camino
¿No es posible usar un TMaskEdit? En ese caso podrías usar la propiedad EditMask de dicho control.

Saludos
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
Operaciones con fechas jandres Varios 2 07-11-2006 19:16:27
Operaciones en delphi salvica OOP 7 20-04-2006 10:58:11
Funcion para convertir cantidades numericas a letras omarifr API de Windows 3 16-04-2006 18:20:50
Formato para impresion de cantidades numericas Ricsato Varios 3 10-09-2004 23:55:08
operaciones con fechas ing_alsaac Varios 2 11-05-2003 10:02:57


La franja horaria es GMT +2. Ahora son las 19:22:09.


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