Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Eleкtro en 10 Enero 2013, 00:35 am



Título: [SOLUCIONADO] Problema matemático
Publicado por: Eleкtro en 10 Enero 2013, 00:35 am
Me está volviendo loco este problema!

Estos son los elementos del problema:
  • Un número de GigaBytes, que es una variable de tipo Double.
  • Un label que debe mostrar una cantidad según la cantidad de GB, por cada 4,31 GB debe subir un número de valor al label.

Es decir... Si el valor de la variable es "4,31" el label debe mostrar un "1", porque es la capacidad de un solo DVD,
Si el valor de la variable es "4,32" entonces el label debe mostrar un "2" porque el tamaño es más de la capacidad de un dvd pero menos de la capacidad de 2 DVD's completos,
Si la variable es "10,0" pues el label debe mostrar "3" porqe el tamaño se encuentra entre la capacidad de 3 DVD's,
etc, etc, etc...

El problema es que el valor del label se suma cada "3,50" GB, en lugar de cada "4,31" GB.

Las matemáticas no es lo mio pero yo creo que la división debería funcionar...

Código
  1. ' El valor de "Label_SIZE.Text.Split(" ")(0))" por ejemplo es: 3,50
  2. ' (CON COMA, NO PUNTO)
  3.  
  4. If Label_SIZE.Text.Contains("GB") Then Label_DVD.Text = 1 + (Label_SIZE.Text.Split(" ")(0)) \ 4.31

Código
  1. ' En cambio esto SI me funciona:
  2. ' El valor del label se suma cada "4,5"
  3.  
  4. If Label_SIZE.Text.Contains("GB") Then Label_DVD.Text = 1 + (Label_SIZE.Text.Split(" ")(0)) \ 4.50
  5.  
  6. ' No entiendoooooooo porque el otro no funciona....



Título: Re: Problema matemático
Publicado por: Novlucker en 10 Enero 2013, 01:00 am
Y sí pruebas convirtiendo el texto a double como corresponde antes de hacer la división? :rolleyes:


Título: Re: Problema matemático
Publicado por: Eleкtro en 10 Enero 2013, 01:03 am
Y sí pruebas convirtiendo el texto a double como corresponde antes de hacer la división? :rolleyes:

Ah, sí, eso ya lo hice Nov!  Convert.ToDouble(NumeroDeGB) \ 4.31

No lo puse en el ejemplo de arriba pero lo hice antes de preguntar y el resultado es el mismo :(



EDITO:

Necesito una ayuda urgente :(

Voy a ver si pasando el número a bytes obtengo mejores resultados...


Título: Re: Problema matemático
Publicado por: Danyfirex en 10 Enero 2013, 02:33 am
sera porque es así /

/ : Barra división

\ : Barra inversa

no me la creo que a un Scripter tan detallado como vos se te pase ese símbolo jajaja

creo que así lo solucionas.

Código
  1. MessageBox.Show("Muestra cuantos CDs: " + Str(Math.Ceiling(10.0 / 4.31)))

saludos


Título: Re: Problema matemático
Publicado por: Eleкtro en 10 Enero 2013, 03:14 am
Tienes toda la razón, supongo
Citar
\ Integer division
/ Division

Bueno, mi consuelo es que a alguien tan Pro como NovLucker también se le ha pasado el detalle de la barra xD

Solucionado, Gracias Danyfirex!


Título: Re: [SOLUCIONADO] Problema matemático
Publicado por: Novlucker en 10 Enero 2013, 12:35 pm
Ups  :-X es que estoy de vacaciones desde el teléfono, los códigos se ven cortados y tuve que dar varias vueltas para leerlo  :xD


Título: Re: Problema matemático
Publicado por: Danyfirex en 10 Enero 2013, 13:30 pm
Tienes toda la razón, supongo
Bueno, mi consuelo es que a alguien tan Pro como NovLucker también se le ha pasado el detalle de la barra xD

Solucionado, Gracias Danyfirex!
eso te pasa por reventarte el coco haciendo tantas cosas a la vez jajajaja.

NovLucker  :¬¬  te hacen mal las vacaciones jajaja.

un gusto ayudar.

saludos compas.