Red de conocimientos sobre prescripción popular - Remedios caseros - Cómo retener los datos después del punto decimal durante la división de matriz doble en C#

Cómo retener los datos después del punto decimal durante la división de matriz doble en C#

De forma predeterminada, la división en C# no conserva los puntos decimales.

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!