texto sharp que parsear parse otro ordenar numeros numero net mayor leen lectura fracciones fraccion ejercicios ejemplos ejemplo decimales cuando convertir convertidor convert como .net double

.net - sharp - parsear un string a double en c#



¿Cómo obtener valor después del punto decimal de un valor doble en C#? (5)

Esto es para lo que es el operador de módulo (%). Te da el resto cuando divides el primer operando por el segundo. Solo divide el número del que quieres el decimal por 1.

Ex:

decimal d = new Decimal(23.456); d = d % 1; // d = 0.456

[EDITAR]

Después de leer el comentario de Nellius sobre mi publicación, lo probé. Cuando se usan dobles, el operador de módulo en realidad devuelve 0.45599999999999952. Mi respuesta es de hecho incorrecta.

[/EDITAR]

Referencia: http://msdn.microsoft.com/en-us/library/0w4e0fzs.aspx

Me gustaría obtener el valor decimal de un valor doble.

Por ejemplo:

23.456 -> 0.456 11.23 -> 0.23

¿Alguien podría decirme cómo hacer esto en C #?

Gracias mahesh


No hay un Método en System.Math que haga esto específicamente, pero hay dos que proporcionan la manera de obtener la parte entera de su decimal, dependiendo de cómo desee que se representen los números decimales negativos.

Math.Truncate(n) devolverá el número antes del punto decimal. Entonces, 12.3 devolvería 12, y -12.3 devolvería -12. Entonces restarías esto de tu número original.

n - Math.Truncate(n) daría 0.3 para ambos 12.3 y -12.3.

Usando una lógica similar, Math.Floor(n) devuelve el número entero más bajo que el punto decimal, y Math.Ceiling(n) devuelve el número entero más alto que el punto decimal. Puede usarlos si desea usar una lógica diferente para los números positivos y negativos.


Prueba esto.

Dim numberToSplit As Double = 4.52121 Dim decimalresult As Double = numberToSplit - Convert.ToInt64(numberToSplit) MsgBox(decimalresult)


Yo uso este método cuando calculo las compensaciones.

double numberToSplit = 4.012308d; double decimalresult = numberToSplit - (int)numberToSplit; //4.012308 - 4 = 0.012308


x - Math.Floor (x);

texto para llevar hasta 30 caracteres