| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Adrian Invitado
|
Publicado: Lun 17 May, 2004 1:17 pm Asunto: Decimales |
|
|
| Como puedo hacer que en una variable double solo tenga dos decimales o tambien puedo cambiarlo en un edit de Quikreport |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Lun 17 May, 2004 2:23 pm Asunto: |
|
|
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
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... _________________
 |
|
| Volver arriba |
|
 |
el diego Master


Registrado: 23 Ago 2002Mensajes: 232Ubicación: Paris
|
Publicado: Lun 17 May, 2004 2:29 pm Asunto: |
|
|
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 |
|
 |
Adrian Invitado
|
Publicado: Lun 17 May, 2004 3:14 pm Asunto: |
|
|
| Diego soy Adrian no me funciona, no entiendo lo que tiene que hacer la función |
|
| Volver arriba |
|
 |
el diego Master


Registrado: 23 Ago 2002Mensajes: 232Ubicación: Paris
|
Publicado: Lun 17 May, 2004 3:25 pm Asunto: |
|
|
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 |
|
 |
|