SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: public-chaos en Miércoles 10 de Enero de 2007, 15:43

Título: Ayuda Con Funcion
Publicado por: public-chaos en Miércoles 10 de Enero de 2007, 15:43
Recurro a ustedes nuevamente para una duda, necesito sacar algunos decimales de un tipo double pero que si tiene un exponecial no lo quite ydeje 4 decimales aparte del exponencial, es decir que si el numero es 2,1353263E21 quede 2,1353E21, por lo que vi en la ayuda existe un tal StrtoFloat o FormatStrF si alguien me ayudare a poder realizarlo le estaria muy agradecido.
 
              Saludos.Public Chaos.
Título: Re: Ayuda Con Funcion
Publicado por: Linspire en Jueves 11 de Enero de 2007, 04:39
Bueno, si la variable es tipo double entonces un nùmero puede redondearse de la siguiente forma:

double numero;
Label1->Caption=FormatFloat("0.000",numero); //aqui le decimos que solo queremos los primero tres decimales.

Ahora bien, si tienes un nùmero así: 2,1353263E21

Lo que puedes hacer es tomar el valor de toda la cadena en una variable de tipo String y después identificar la posición del punto decimal (o de la coma) y tomar solo los primeros tres (o los que quieras nùmeros después de él), después localizas la posición de la "E" y copias lo que sigue después de ella, finalmente envías todo a otra cadena y lo muestras en algùn objeto (TLabel, TEdit) y asunto resuelto: Para ello puedes usar un ciclo while o un ciclo for.

Si no entendiste ni "jota", respondeme y te mando un ejemplo (esperando haber entendido tu pregunta).

Espero haber sido de ayuda.  :D  :D  :comp:

Por cierto, en mi última respuesta de ESTE POST (http://foros.solocodigo.com/index.php?showtopic=26486) se muestra como usar el Pos junto con el ciclo for para localizar la posición de caracteres.

Por cierto, lo que mencionas quizá pueda usarse así:
Label1->Caption=StrtoFloat("0.000",numero);
Label1->Caption=FormatStrF("0.000",numero);

pero no puedo comprobarlo porque ahorita no dispongo del compilador.
Título: Re: Ayuda Con Funcion
Publicado por: public-chaos en Jueves 11 de Enero de 2007, 12:58
Gracias!!!, ya he podido hacer funcionar correctamente el programa con tu ayuda.


 -> Administradores o moderadores, PUEDEN borrar este Post <-
Título: Re: Ayuda Con Funcion
Publicado por: Eternal Idol en Jueves 11 de Enero de 2007, 13:22
Cita de: "public-chaos"
-> Administradores o moderadores, PUEDEN borrar este Post <-
No; las consultas no deben ser borradas y muchisimo menos si les dan una solucion. La proxima vez que alguien tenga este problema puede que hasta lo encuentre por Google y de preguntarlo ya tenemos a donde remitirlo rapidamente sin importar que la persona que en su momento sabia la respuesta este o no.
Título: Re: Ayuda Con Funcion
Publicado por: Linspire en Viernes 12 de Enero de 2007, 04:13
Perfecto, me agrada haber sido de ayuda, hasta pronto y buena suerte. :D

PD. Opino lo que dice el administrador, ningùn post deberìa ser borrado a menos que no ofrezca una utilidad, pero creo que todos en mayor o menor medida son necesarios.  :D  :)  :devil: