Cómo retener los datos después del punto decimal durante la división de matriz doble en C#
Resultado decimal = 100/1000; //Resultado = 0;
Necesitas mantener el punto decimal, puedes hacer lo siguiente
Resultado decimal = 100m/1000;
p>
m representa decimal.
¿Y si es una variable? Esto requiere matemáticas. Círculo()
int x = 120;
int y = 100000
Resultado decimal = (decimal)x/y // (decimal) x; /y significa convertir x a decimal y luego dividirlo. Si divides por un int, pierdes el punto decimal.
Pero hay demasiados dígitos después del punto decimal y es necesario procesarlos. Esta vez, matemáticas. Se requiere ronda().
Resultado decimal = matemática. Round((decimal)x/y,2); los 2 siguientes significan conservar 2 decimales.
-
En C# y métodos, el tipo de valor obtenido al dividir por "/" está relacionado con el tipo de su divisor y dividendo. Por ejemplo:
int a = 4
int b = 5;
Flotante c = a/b
El resultado es 0 (porque int se dividirá primero, el resultado es 0 y luego el resultado se convertirá en flotante 0;);
En resumen, los números obtenidos son todos plásticos y, finalmente, el tipo de Se encuentra el valor obtenido después de la división. Está relacionado con el tipo de su divisor y dividendo. Por lo tanto, debería escribirse así:
Punto flotante a = 3;
Punto flotante b = 5
Punto flotante c = a/b;
¡Solo así podremos sacar la conclusión correcta!
En int, el resultado de 2/5 es 0.
Y debido a que el lado izquierdo de la expresión (número flotante = 2/5) es flotante, int se puede convertir implícitamente a flotante, por lo que C# cambia 0 a flotante: 0.0.
Si quieres obtener el resultado correcto, debes sumar al menos un número a la derecha del signo igual: agrega un punto decimal o suma f:
2.0/5
O
2.0/5.0
O
2f/5
¡Espero que te ayude!