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 

Como pasar a doble o float un string formateado previamente

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Como pasar a doble o float un string formateado previamente Responder citando

Hola de nuevo,

¿alguien sabe como pasar a doble o float un AnsiString previamente formatedao? Supongamos que yo tengo el número 3071.17 y le aplico un FormatFloat("##.##,##,3071.17) para convertirlo en 3.071,17. Ahora, ¿como puedo volver a convertir el AnsiString 3.071,17 a doble o float para tratarlo?

O bien, como puedo hacer que me haga una división entre 1000 conservándome el formato. Supongamos que ese número está en metros y lo quiero pasar a kilómetros, conservando el formato de los puntos de millar y los decimales.

Muchas gracias.
Volver arriba
Mensaje    Asunto: Responder citando

No esta muy clara, la pregunta, pero dando una respuesta, basica, esto puede quedar asi

Código:
float numero;
AnsiString Str_Numero;

numero = 3071.17 ;
//convertimos el numero a letras
Str_Numero = FormatFloat("##.##,##",numero);
// y luego lo regresamos al numero,
numero = Str_Numero.ToDouble();


Es esto lo que deseas, esta algo confusa tu pregunta o duda..
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Hola,

ante todo gracias por responder. ¿A ti te funciona el código que has puesto? Es que yo ya lo tenía así, pero me genera un error en la línea Str_Numero.ToDouble(), ya que no sabe interpretar bien el número "3.071,71" debido a los puntos de millar y los decimales.

¿Alguna otra solución?

Muchas gracias.
Volver arriba
Mensaje    Asunto: Responder citando

Con respecto a la conversion, como la estas haciendo, depende mas de la configuracion de windows, y el tipo de español, que usas,

Español de España = 3.500,50 (tres mil. quinientos, con ciencuenta dec)
Español de LatinoA = 3,500.50 (tres mi, quinientos. con ciencuenta dec)

Dentro del foro, existe un codigo para cambiar la configuracion de windows
https://cppbuilder.es/viewtopic.php?t=4832&highlight=getlocaleinfo
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
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.