tipo puede por operandos operador operaciones multiplicar multiplicacion manejo imprimir decimales con aplicar c# decimal fractions integral

c# - puede - Dividir la variable decimal en partes integrales y fraccionadas



multiplicar textbox c# (5)

Estoy tratando de extraer las partes integrales y fraccionarias de un valor decimal (ambas partes deben ser enteros):

decimal decimalValue = 12.34m; int integral = (int) decimal.Truncate(decimalValue); int fraction = (int) ((decimalValue - decimal.Truncate(decimalValue)) * 100);

(Para mi propósito, las variables decimales contendrán hasta 2 decimales)

¿Hay mejores maneras de lograr esto?


Intenta la definición matemática:

var fraction = (int)(100.0m * (decimalValue - Math.Floor(decimalValue)));

Aunque no es mejor en sentido de rendimiento, al menos funciona para números negativos.


Para sacar fracciones puedes usar esta solución :

Math.ceil(((f < 1.0) ? f : (f % Math.floor(f))) * 10000)


Qué tal si:

int fraction = (int) ((decimalValue - integral) * 100);


decimal fraction = doubleNumber - Math.Floor(doubleNumber)

o algo así.


decimal fraction = (decimal)2.78; int iPart = (int)fraction; decimal dPart = fraction % 1.0m;