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

[SOLUCIONADO] Redondear a decena mas proxima

Estas en el tema de Redondear a decena mas proxima en el foro de .NET en Foros del Web. Hola Buen día ¿como le puedo hacer en C# para redondear un entero a su decimal mas próximo? Ejemplo : si es 51 a 60, ...
  #1 (permalink)  
Antiguo 05/09/2014, 15:31
 
Fecha de Ingreso: junio-2012
Mensajes: 233
Antigüedad: 11 años, 10 meses
Puntos: 3
Pregunta Redondear a decena mas proxima

Hola Buen día

¿como le puedo hacer en C# para redondear un entero a su decimal mas próximo?

Ejemplo :

si es 51 a 60,
54 a 60,
17 a 20


Gracias
  #2 (permalink)  
Antiguo 08/09/2014, 03:30
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Redondear a decena mas proxima

En tres sencillos pasos.
- Coges el número que deseas redondear y lo divides por diez
- Al resultado le sumas uno
- El resultado lo multiplicas por 10.

Y ya lo tienes redondeado!
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 10/09/2014, 15:50
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 18 años, 11 meses
Puntos: 16
Respuesta: Redondear a decena mas proxima

Veo fallos en lo que le has pasado...
51/10 = 5,1
5,1 + 1 = 6,1
6,1 * 10 = 61

Según el ejemplo que ha puesto antvo, si la cifra no termina en 0, se coge la decena y se le suma 1.. y termina en 0...

dim sNum as string = "61"
dim iNum as integer = (cint(sNum.substring(0, 1))+1)*10 'Cogemos el 6, le sumamos 1 y multiplicamos por 10
'iNum es igual a 70

Sino, que se aclare, porque en la pregunta pone decimal y después no pone ningún ejemplo con decimal ni nada XDDDDDD


Un saludo!!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)
  #4 (permalink)  
Antiguo 15/09/2014, 14:49
 
Fecha de Ingreso: junio-2012
Mensajes: 233
Antigüedad: 11 años, 10 meses
Puntos: 3
Respuesta: Redondear a decena mas proxima

Tienen razón , no me explique bien

Gracias por sus respuestas

solo manejo números enteros sin partes fraccionarias. Lo único que queria era si tengo un número cuya unidad es mayor a 0 (35,31,22,1) entonces debo redondear ese numero al múltiplo de 10 mas próximo es decir para 35 ->40, 31->40 , 22->30, 1->10.

esto ya lo resolví primero obtuve el valor de la unidad(primer dígito de la derecha) luego a 10 le reste esa unidad y lo que me quedo de la resta es lo que le sumo al número para incrementarlo al siguiente múltiplo de 10.

31
10-1=9

31+9=40

Gracias

Etiquetas: Ninguno
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 00:55.