none
REDONDEOS EN RESULTADO RRS feed

  • Pregunta

  • Buenas, bueno tengo una división a/b, veo en pantalla el resultado hasta dos numeros despues de la coma, pero quiero redondear ciertos resultados pero nose como hacerlo, el numero que quiero redondear es el que esta dos puestos despues de la coma en 5 y 0 por ejemplo. 1.23 quiero redondear a 1.25 1.28 quiero redondear a 1.30 DESDE YA GRACIAS.
    martes, 6 de diciembre de 2011 21:17

Respuestas

  • using System;

    namespace xxx
    {
     class Program
     {
      public static void Main(string[] args)
      {
              Console.WriteLine(Redondea(1.2));
              Console.WriteLine(Redondea(1.2249));
              Console.WriteLine(Redondea(1.225));
              Console.WriteLine(Redondea(1.23));
              Console.WriteLine(Redondea(1.25));
              Console.WriteLine(Redondea(1.274));
              Console.WriteLine(Redondea(1.28));
              Console.WriteLine(Redondea(1.3));
       
       //
       Console.ReadKey(true);
      }
      
      static double Redondea(double valor)
      {
       return ((int)((valor + 0.025) * 100) / 5) * 5 / 100.0;
      }
     }
    }

     

    • Marcado como respuesta sultan23901 miércoles, 7 de diciembre de 2011 8:47
    martes, 6 de diciembre de 2011 22:52

Todas las respuestas

  • pero que clase de redondeo seria ese que mencionas

    porque parciera qie le incrementas con un valor algo aleatorio, porque de 1.25 a 1.28 no tiene mcuha logica de redondear

    quizas debas aplicar alguna logica particular proque las funciones que redondean existentes no aplican esto que comentas

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 6 de diciembre de 2011 21:34
  • Talvez lo plantie entreverado, el segundo despues de la coma siempre tendria que ser 0 o 5.

    Quice decir de redondear de 1.23 a 1.25 y otro ejemplo de 1.28 a 1.30

    martes, 6 de diciembre de 2011 21:46
  • using System;

    namespace xxx
    {
     class Program
     {
      public static void Main(string[] args)
      {
              Console.WriteLine(Redondea(1.2));
              Console.WriteLine(Redondea(1.2249));
              Console.WriteLine(Redondea(1.225));
              Console.WriteLine(Redondea(1.23));
              Console.WriteLine(Redondea(1.25));
              Console.WriteLine(Redondea(1.274));
              Console.WriteLine(Redondea(1.28));
              Console.WriteLine(Redondea(1.3));
       
       //
       Console.ReadKey(true);
      }
      
      static double Redondea(double valor)
      {
       return ((int)((valor + 0.025) * 100) / 5) * 5 / 100.0;
      }
     }
    }

     

    • Marcado como respuesta sultan23901 miércoles, 7 de diciembre de 2011 8:47
    martes, 6 de diciembre de 2011 22:52
  • IM-PE-CA-BLE Gracias y saludos
    • Marcado como respuesta sultan23901 miércoles, 7 de diciembre de 2011 8:46
    • Desmarcado como respuesta sultan23901 miércoles, 7 de diciembre de 2011 8:47
    miércoles, 7 de diciembre de 2011 8:45