Principales respuestas
Necesito ayuda!

Pregunta
-
Respuestas
-
Si. Siempre que b sea mayor que a el resultado será 0.
Estás capturando los labeles como valores enteros.
Cuando haces innecesariamente aritmética con enteros, primero multiplicas y luego divides. Siguiendo el ejemplo de tximas, deberías hacer
int resultado = 100 * a / b;
Los paréntesis son innecesarios. Los operadores * y /, son asociativos por la izquierda. Si pones paréntesis en (a/b) para rehacer la asociación, el resultado será 0 si b>a.
- Propuesto como respuesta tximas jueves, 17 de marzo de 2016 13:01
- Marcado como respuesta José De AlvaModerator miércoles, 23 de marzo de 2016 17:52
Todas las respuestas
-
-
-
Hola Vidal,
si nos enseñas tu código será más fácil que te podamos ayudar.
En principio debería bastar con que utilizaras un decimal.TryParse.
Por ejemplo, para multiplicar los valores por 100:
decimal valor1; decimal valor2; if (decimal.TryParse(Label1.Text, out valor1)) { valor1 = valor1*100; } if (decimal.TryParse(Label2.Text, out valor2)) { valor2 = valor2*100; }
Píldoras .NET
Artículos, tutoriales y ejemplos de código .NETPíldoras JS
Artículos, tutoriales y ejemplos de código JavaScript, HTML5, CSS3, ... -
Si tienes dos label, tienes que guardar los dos valores de las dos label guardarlas en dos variables.
int a = Convert.ToInt16(label1.text);
int b = Convert.ToInt16(label2.text);
int resultado = (a /b)x100;
Y si quieres puedes asiganarle a otro label el resultado -> label3.text = Convert.ToString(resultado);
No olvides marcar la respuesta como valida y sumar puntos. Compartir es vivir!
Tximas
-
-
int numero1 = Convert.ToInt32(label1.Text); int numero2 = Convert.ToInt32(label2.Text); int resultado; resultado = (numero1 / numero2) * 100; label3.Text = Convert.ToString(resultado);
En principio con este codigo deberia de funcionar. Pero mira algun tutorial de c# porque estas cosas son muy sencillas y las deberias de saber.
Un saludo y animo!
-
hola
>>ya hice eso y la respuesta es igual a 0 siempre
imagino estas usand el int.TryParse() o decimal.TryParse(), si esto resuelve cero quiere decir que el valor que ingresas no es numerico
si pones un breakpoint en el codigo he inspeccionas el valor que asignas cuando usas
if (decimal.TryParse(Label1.Text, out valor1)) { valor1 = valor1*100; }
puede validar que ingresa al if ? inspecciona el valor del Label, deberia tener un valor numerico valido
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
Si. Siempre que b sea mayor que a el resultado será 0.
Estás capturando los labeles como valores enteros.
Cuando haces innecesariamente aritmética con enteros, primero multiplicas y luego divides. Siguiendo el ejemplo de tximas, deberías hacer
int resultado = 100 * a / b;
Los paréntesis son innecesarios. Los operadores * y /, son asociativos por la izquierda. Si pones paréntesis en (a/b) para rehacer la asociación, el resultado será 0 si b>a.
- Propuesto como respuesta tximas jueves, 17 de marzo de 2016 13:01
- Marcado como respuesta José De AlvaModerator miércoles, 23 de marzo de 2016 17:52