que tal amigos, como puedo optener el porcentaje en JAVA, alguien me puede hechar la mano? la operacion normal que haria seria esta:
% = (1/2) * 100
pero obvio esto no me sirve, alguien sabe como?
| |||
el % en JAVA que tal amigos, como puedo optener el porcentaje en JAVA, alguien me puede hechar la mano? la operacion normal que haria seria esta: % = (1/2) * 100 pero obvio esto no me sirve, alguien sabe como?
__________________ Wow! No se que decir... |
| |||
ok, esa operacion me calcula el porcentaje, el valor 2 es el maximo de unidades, y el valor 1 las unidades que se tienen actualmente...no me sirve por que, lo que esta de ejemplo me regresa un valor cero, pero me tendria que dar .5, eso ya seria residuo, pero no se como sacarlo....que me arrroje el .5 y no un cero...
__________________ Wow! No se que decir... |
| ||||
lo que pasa es que ahi se esta ejecutando una divicion de enteros, entonces, el resultado arrojado es un entero, entonces 1/2 = 0.5, pero solo te esta regresando el entero, un entero por otro entero regresa un entero, por eso 0*100 es 0 (Aparte de que 0*x = 0). bueno, lo que tienes que ahcer es hacer la divicion de double, algo asi System.out.println("%="+((1.0/2.0)*100)); % = 50.0 o bien, puedes hacer esto: double total = 2; double actual = 1; System.out.println("%="+((actual/total)*100)); have funnnnnnnnn
__________________ Curso de Angular JS - Haremos una app de principio a fin |
| |||
Ah, ok. Ya te ha dado stock la solucion. De todas formas, un consejo. Habitualmente este tipo de formulas se "modifican" de forma que primero se hagan las multiplicaciones y luego las divisiones, ya que al dividir ocurre un redondeo y entonces va "acumulandose" un error. Si multiplicas primero, el redondeo ocurre pero se minimiza el error acumulado. Y para tener precision absoluta, en vez de tipos primitivos hay que usar las clases BigInteger y BigDecimal. S! |
| ||||
Hola: Una tontería que descubrí el otro día y quizás ayude. Si usamos una clase DecimalFormat para escribir en pantalla y en la máscara ponemos algo así "##.##%", cuando metamos el número para sacar el String, automáticamente lo multiplica por 100. Esto está bastante bien, porque podemos hacer las cuentas en tanto por uno double valor = 1.0/2.0; y lo de *100 se hace solo y de forma automática cuando queramos sacar los resultados por pantalla. Ahorra andar arrastrando los 100 por todo el código. Sed buenos. |