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.