• Sábado 21 de Diciembre de 2024, 17:17

Autor Tema:  Re: Redondeo decimal  (Leído 16521 veces)

norca

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Redondeo decimal
« en: Sábado 11 de Enero de 2003, 23:51 »
0
Wenas!

Estoy haciendo una practica matematica con c# donde la exactitud es primordial.
ME gustaria que solo saliesen por pantalla un numero determinado de decimas pero no se como hacerlo.
Y como puedo redondear los numeros.

Espero que alguien me pueda ayudar.

Un saludo.

Agradecida

observador

  • Miembro activo
  • **
  • Mensajes: 65
    • Ver Perfil
    • http://www.soloprogramacion.net/
Re: Redondeo decimal
« Respuesta #1 en: Viernes 7 de Marzo de 2003, 12:32 »
0
Bien... pues lo que quieres hacer depende de los formatos con los que vallas a mostrar tu informacion con el printf....

Puedes indicar cuantos digitos decimales quieres mostrar poniendo poniendo un punto entre el % y la letra que vallas a utilizar para ver el valor nmerico, despues del punto coloca el numero de digitos, fijate  en el ejemplo...

Te mando un archivo adjunto que muestra como se veria un mismo numero pero mostrando un numero especifico de digitos despues del punto decimal...

Ojala y te sea util....
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
Solo Programacion Net

Hasta pronto...

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Redondeo decimal
« Respuesta #2 en: Viernes 7 de Marzo de 2003, 16:11 »
0
:alien:
Perdon por el escandalo,pero observador sabe porque lo digo jajaja.

observador, creo que estas algo equivocado porque norca esta hablando de C# y no de C... aunque hay una pequeña posibilidad de que funcione de una manera parecida, sin embargo no lo he hecho aún.

Asi que la respuesta es sencilla, debes
trabajar (como creo que lo estas haciendo) usando System:

using System

y trabajando con Console es decir con System.Console
posiblemente una de las sobrecargas
del método Write o del método Writeline
te entregue herramientas para hacer esto.
Seguramente lo que necesitas lo encontraras en las clases de datos
ya que la clase Int32 tiene algunos elementos que te pueden ser de utilidad, igualmente las otras clases de tipos de datos.
Los metodos similares a Trunc y a Fix ofrecen sobrecargas para cortar los decimales de dos maneras.. quitandolos... o haciendo aproximaciones, si no encuentras como cambiar el formato de entrada esta puede ser un excelente alternativa.
en pseudo codigo Seria algo asi como esto..(bueno realmente es casi c# sino que debes revisar lo del Int32 por que me late que para float es diferente, ademas de que el metodo puede tener un nomber diferente al de Fix)

flotante f;
f=2.3524548
f=Int32.Fix(f,2);
Console.WriteLine("Flotante digitado= {0}",f);

en pantalla te imprimiria:
Flotante = 2.35
porque se  ha aproximado  el decimal para dejarlo de dos cifras, es decir si f inicialmente fuera 2.3596
el valor en pantalla habria sido 2.36 y no 2.35  debido a la aproximacion.

Por otro lado seguramente que en C# puedes hacer algo parecido a :

f=Int32.Fix(Console.ReadLine(),2);
para capturar el dato desde la entrada de teclado.

Espero que te sea igualmente util.
Hoy voy a revisar esto para darte los nombres corectos de los metodos y de las clases.
:lightsabre:
chauu
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Redondeo decimal
« Respuesta #3 en: Lunes 10 de Marzo de 2003, 13:33 »
0
:alien:
anoche estuve revisando y ya te puedo dar una manera de hacerlo:

using System;
.
.
decimal long f;
f=2.3524548
f=Math.Round(f,2);
Console.WriteLine("Numero digitado= {0}",f);
.
.
tambien existe Math.Ceilingque realiza algo parecido.
:lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

carovissani

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Redondeo decimal
« Respuesta #4 en: Lunes 3 de Agosto de 2009, 21:01 »
0
Gracias Juan K, me ha funcionado correctamente usando Math.Round! Que bueno que existan los foros y se pueda intercambiar conocimientos!!
Saludos a todos!

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Redondeo decimal
« Respuesta #5 en: Jueves 13 de Agosto de 2009, 16:33 »
0
si, asi sea más de 6 años despues de la respuesta inicial  :lol:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io