![]() |
Decimales.
Buenas noches,
Me llamo Iron y es mi primer mensaje, vengo de hacer algunas cositas en Visual Basic y hace unos dias me decidi a trabajar con Delphi 7 (por tanto, mi nivel es bajísimo). Tengo varias preguntas, pero abriré un hilo para cada una de ellas. La que pongo aquí es en referencia al número de decimales que salen después de la coma. ¿Como convierto 12,3425234213 en 12,34?, se que en Visual uso el Format, pero aqui no lo consigo :mad:. Gracias por adelantado y un saludo. |
Hola Iron,
Bienvenido a clubdelphi. Como eres nuevo te informo de la guia de estilo. Por favor tomate unos minutos para leerla. Respecto a tu duda, si es a efectos de visualización puedes emplear la función Format(). Revisa la ayuda. Si deseas guardar o conservar el valor redondeado en una variable tienes a disposición la función RoundTo(), que redondea a la cantidad de decimales que indiques. Y al igual que lo dicho en format, lee la ayuda al respecto. Puedes encontrar ejemplos del uso de format() y tal vez de RounTo() entre los hilos que se han venido tratando, realiza una búsqueda. Saludos, |
Hola Delphius,
Gracias por contestar, lo intenté con format como en Visual pero me da error. Buscaré en el foro como usar la función RoundTo() que es la que mas me interesa. Un saludo |
Cita:
Cita:
Un ejemplo de uso:
Y si te da error es conveniente que nos comentes textualmente que error para saber como ayudarte. Me gustaría ver una muestra de cómo lo intentaste usar... Saludos, |
Delphius, era justo lo que quería!!. He tardado mas de media hora en hacerlo funcionar :o. Copie mal lo que pusiste (no ponia el paréntesis que está después del Showmessage) y en la ayuda Delphi, el ejemplo empieza con Format y tampoco le ponen paréntesis.
Al repasar el foro para poner que no me salia vi la diferencia con el tuyo. Gracias!! |
Yo utilizo la funcion RoundTo de la unidad Math para redondear los decimales por ejemplo:
RoundTo(3,56789,-2) me sale como resultado 3,57 ;el segundo parametro indica la cantidad de decimales que se quiere que se muestre en este caso pongo 2 negativo por asi es como trabaja la function, desde luego trabaja tambien con el segundo parametro positivo, puedes buscar en la ayuda de delphi al respecto para una mejor comprension. Saludos......:cool: |
También me vale, me interesa que me digais todas estas cosas porque así voy aprendiendo, Gracias!!!
|
He estado haciendo pruebas con RoundTo y hago algo mal:
El número es 123,456789 -si le pongo g:=RoundTo(f,-3):sale=123,45700073:confused: -si le pongo -2):sale=123,45999964:confused: -si le pongo -1):sale=123,5:) -si le pongo 0):sale=123:) También me pasa con una función mia:
Con esta función me devuelve 1,7319999933 :confused: en lugar de 1,732. Gracias |
Cita:
RoundTo(123,456789,-3)=123,457 ok RoundTo(123,456789,-2)=123,46 ok RoundTo(123,456789,-1)=123,5 ok RoundTo(123,456789,0)=123 ok Probado en Delphi 7.;) Me late que quisas estas haciendo algo mal.:confused: Por que no pones tu codigo para que lo podamos ver.;) |
Mi código es este (también en Delphi 7):
Estoy convencido que es fallo mio, pero no se donde. Un saludo y gracias. |
Cita:
declara las variables de tipo doble ... :D:D
salu2!!!!!!! |
Correcto, eso era el fallo!!!, yo cuando me puse a definir las variables vi primero el rango de las mismas:
Single 1.5 x 10^-45 .. 3.4 x 10^38 7-8 4 Double 5.0 x 10^-324 .. 1.7 x 10^308 15-16 8 Pensaba que con single me valía!!! Gracias |
La franja horaria es GMT +2. Ahora son las 13:05:44. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi