round potencia porcentaje c# math

c# - potencia - Dividir no devolviendo el valor decimal que espero



square c# (2)

Posible duplicado:
¿Qué pasa con esta división?

Si divide 0.66666666666666667 , debe devolver 0.66666666666666667 . En cambio, obtengo 0.0 en el tipo de doble valor y 0 en decimal.

Mi propósito es dividir incluso (por ejemplo, 2 / 3 ) y redondear a 1 siempre al más cercano.

¿Alguna ayuda?


Estás haciendo división entera, a partir de los sonidos de la misma. Prueba esto:

decimal result = 2.0 / 3.0;

O incluso forzarlo a decimales para todas las operaciones:

decimal result = 2.0m / 3.0m;

Esto debería darle un resultado más como usted espera.


Hacer 2/3 es una división entera que no devolverá el lugar decimal de la división. Para obtener .666666667, tendrá que hacer 2.0 / 3.0, que son ambos dobles para obtener la respuesta esperada.