| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Picard Master


Registrado: 18 Ene 2004Mensajes: 218Ubicación: Palamos (Girona) España
|
Publicado: Lun 31 May, 2004 7:42 pm Asunto: que pasa aqui? |
|
|
hola compañeros tengo un serio problema, tego un codigo :
| Código: |
long double fx,fy;
AnsiString buf;
EasyMap->ScreenToMap(X, Y, fx, fy);
StatusBar->Panels->Items[0]->Text = buf.sprintf("Cursor Location: B=%e deg",fx);
StatusBar->Panels->Items[1]->Text = buf.sprintf("Cursor Location: L=%e deg",fy);
Application->ProcessMessages();
}
|
Ahora viene el problema, cuando deberia estar recibiendo por ejemplo -41.68 y -03.15 recibo -3.026344e-237 y -2.387606-119 , puede ser algun problema con buf.sprintf?
gracias _________________ El hombre es el unico ser que tropieza dos veces en la misma piedra ( en mi caso infinitas veces) |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 31 May, 2004 7:51 pm Asunto: |
|
|
Prueba cambiando%e por %.2Lf |
|
| Volver arriba |
|
 |
Picard Master


Registrado: 18 Ene 2004Mensajes: 218Ubicación: Palamos (Girona) España
|
Publicado: Lun 31 May, 2004 7:55 pm Asunto: |
|
|
Gracias Leo ahora funciona perfectamente,pero ¿te importaria explicarme el porque asi funciona y con %e no? gracias _________________ El hombre es el unico ser que tropieza dos veces en la misma piedra ( en mi caso infinitas veces) |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Lun 31 May, 2004 8:08 pm Asunto: |
|
|
%e muestra un numero de punto flotante en formato cientifico.
%f lo muestra en formato "normal".
"L" es porque estas usando "long double"
".2" es para que solo muestre dos decimales. |
|
| Volver arriba |
|
 |
Picard Master


Registrado: 18 Ene 2004Mensajes: 218Ubicación: Palamos (Girona) España
|
Publicado: Lun 31 May, 2004 8:16 pm Asunto: |
|
|
Gracias de nuevo Leo,voy a hacer unas cuantas pruebas a ver si consigo que me de + = N y - = S _________________ El hombre es el unico ser que tropieza dos veces en la misma piedra ( en mi caso infinitas veces) |
|
| Volver arriba |
|
 |
|