SoloCodigo
Programación General => C/C++ => C++ Builder => Mensaje iniciado 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.
-
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.
-
Gracias!!!, ya he podido hacer funcionar correctamente el programa con tu ayuda.
-> Administradores o moderadores, PUEDEN borrar este Post <-
-
-> 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.
-
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: