Foros del Web » Programación para mayores de 30 ;) » .NET »

C# obtener decimales

Estas en el tema de C# obtener decimales en el foro de .NET en Foros del Web. Tengo el siguiente código: decimal decImporteNeto = 6.495 decImporteNeto = Math.Round(decImporte, 2); Me devuelve 6.50 Cuando quiero que me devuelva = 6.49 Alguna idea por ...
  #1 (permalink)  
Antiguo 27/03/2015, 11:54
 
Fecha de Ingreso: septiembre-2014
Ubicación: Peru-Lima-Chorrillos
Mensajes: 17
Antigüedad: 10 años, 2 meses
Puntos: 0
C# obtener decimales

Tengo el siguiente código:

decimal decImporteNeto = 6.495
decImporteNeto = Math.Round(decImporte, 2);

Me devuelve 6.50

Cuando quiero que me devuelva = 6.49

Alguna idea por favor
  #2 (permalink)  
Antiguo 27/03/2015, 11:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: C# obtener decimales

Eso no es redondeo (Round), sino un truncado de dato...
El redondeo considera que todo valor 5 se redondea para arriba. En todos los lenguajes, incluyendo el de consultas (SQL)..

Código vb:
Ver original
  1. decimal decImporteNeto = 6.495;
  2. decImporteNeto = (Math.Truncate(decImporte*100)/100);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 27/03/2015, 12:00
 
Fecha de Ingreso: septiembre-2014
Ubicación: Peru-Lima-Chorrillos
Mensajes: 17
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: C# obtener decimales

Esta bien, pero como lo trunco solamente a dos decimales

Saludos cordiales,
  #4 (permalink)  
Antiguo 27/03/2015, 16:27
 
Fecha de Ingreso: julio-2013
Ubicación: Durango, Dgo
Mensajes: 108
Antigüedad: 11 años, 4 meses
Puntos: 8
Respuesta: C# obtener decimales

amigo utiliza esto haber si te sirve o es lo que necesitas

double x = 6.1825115;
x = x - Convert.ToDouble( (Convert.ToDecimal(x) % 0.01m ));

x contiene ya el dato con 2 decimales, lo acabo de hacer y funciona

comenta si te sirve
  #5 (permalink)  
Antiguo 27/03/2015, 17:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: C# obtener decimales

Cita:
Iniciado por ronaldleonmadrid Ver Mensaje
Esta bien, pero como lo trunco solamente a dos decimales

Saludos cordiales,
¿Probaste lo que sugiero?
Hazlo y verás.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 27/03/2015, 17:50
 
Fecha de Ingreso: julio-2013
Ubicación: Durango, Dgo
Mensajes: 108
Antigüedad: 11 años, 4 meses
Puntos: 8
Respuesta: C# obtener decimales

Probé lo que sugirió gnzsoloyo y también funciona y es mas corto :P.

Etiquetas: net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:52.