Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Decimales

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Decimales Responder citando

Como puedo hacer que en una variable double solo tenga dos decimales o tambien puedo cambiarlo en un edit de Quikreport
Volver arriba
Mensaje    Asunto: Responder citando

Utiliza la sentencia FormatFloat, para lo del edit, y para lo de la variable en si de manera de programa, puedes utilizar la sentencia que es una Structura
Cita:

CURRENCYFMT

que permite manipular las caracteristicas, del Format Currency
Asi mismo Verifica la sintaxis de GetCurrencyFormat

Código:

The GetCurrencyFormat function formats a number string as a currency string for a specified locale.

int GetCurrencyFormat(
  LCID Locale,                  // locale for which string is to be formatted
  DWORD dwFlags,                // bit flag that controls the function's operation
  LPCTSTR lpValue,              // pointer to input number string
  CONST CURRENCYFMT *lpFormat,  // pointer to a formatting information structure
  LPTSTR lpCurrencyStr,         // pointer to output buffer
  int cchCurrency               // size of output buffer
);


SALUDOS...
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Hola Adrian, aca te paso una funcion para redondear y limitar el numero de decimales de un double.

Código:
//---------------------------------------------------------------------------
// RoundDouble()
//---------------------------------------------------------------------------
double RoundD(double val, int decimales)
{
    int i=1;
    for (int x = 1; x <= decimales; x++)
        i*=10;
    return floor(val*i+0.5)/i;
}



saludos
diego
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Diego soy Adrian no me funciona, no entiendo lo que tiene que hacer la función
Volver arriba
Mensaje    Asunto: Responder citando

Hola Adrian, te paso un ejemplo:
Código:
double pepe = 3.1415927;
double pepe2 = RoundDouble(pepe,2); //pepe2 sera = 3.14
double pepe3 = RoundDouble(pepe,4); //pepe3 sera = 3.1416

No te olvides de declarar la fuincion en el .h
Código:
double RoundD(double val, int decimales);


saludos
diego
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.