Wise Man
Bovino maduro
- Desde
- 25 Abr 2010
- Mensajes
- 415
- Tema Autor
- #1
buenas tardes tengo un problemita con una tarea que ya me trae y no he podido encontrar como resolverla espero y me puedan ayudar:
necesito hacer un metodo que reciba de muestra dos numeros decimales, (supongamos 2.34 y 4.5678), entonces el metodo debe darse cuenta cuantas cifras tiene el primer numero despues del punto y elevar o redondear siempre a la siguente unidad el segundo numero de modo que ambos queden con el mismo numero de cifras por ejemplo:
ToNextDouble(2.34, 4.5678) debe retornar 4.57 (elevar al siguiente numero la segunda cifra ya que el primero tiene 2)
ya hice este par de metodos pero no me funcionan, alquien me puede echar la mano?
necesito hacer un metodo que reciba de muestra dos numeros decimales, (supongamos 2.34 y 4.5678), entonces el metodo debe darse cuenta cuantas cifras tiene el primer numero despues del punto y elevar o redondear siempre a la siguente unidad el segundo numero de modo que ambos queden con el mismo numero de cifras por ejemplo:
ToNextDouble(2.34, 4.5678) debe retornar 4.57 (elevar al siguiente numero la segunda cifra ya que el primero tiene 2)
ya hice este par de metodos pero no me funcionan, alquien me puede echar la mano?
Código:
static public int ToNextIntNumber(double a)
{//Reciba un numero decimal y lo eleva al siguiente entero
int b;
b = Convert.ToInt32(a);
if ((a % 1) != 0 && ((a % 1) <= 0.5))
b++;
return b;
}
static public double ToNextDouble(double nToRise, double nIndividual)
{
int i = 1;
while (true)
if ((nIndividual * i) % 1 == 0)
break;
else
i *= 10;
nToRise *= i;
int a = ToNextIntNumber(nToRise);
return a/i;
}