Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 25/03/12, 21:16:48
Avatar de anggar
anggar anggar no está en línea
Miembro del foro
Mensajes: 73
 
Fecha de registro: mar 2009
Mensajes: 73
Modelo de smartphone: htc diamond
Mencionado: 0 comentarios
Tagged: 0 hilos
REdondeo al alza

Hola a todos

Estoy intentando terminar un programita y para ello solo me falta hacer esto
necesito redondear una variable

he usado la representacion sin decimales pero eso no vale

ya que los redondeos normales lo que hacen es redondear al alza si los decimales pasan de 5 y a la baja si bajan de 5

eso no me sirve lo que necesito si la variable vale 5,0 que de 5
y si vale 5,1 5,3 5,7 o 5,9 que de 6

lo que intento es quitarle los decimales y hacer

cifra
cifra sin decimales
si decimales es diferente de 0 cifra=cifra+1
sino cifra=cifra

y ya lo presento sin decimales con string format

he intentado ver como quito los decimales con algo como parse o math.round pero no me sale, no encuentro ejemplos

alguien me puede ayudar
Gracias a todos.
Responder Con Cita


  #2  
Viejo 25/03/12, 22:13:08
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Mete la variable en un entero casteandola y te debe funcionar, algo así:

Decimal numeroConDecimales = ..... ;
int numeroSinDecimales = (int) numeroConDecimales;

Última edición por kriogeN Día 25/03/12 a las 22:16:21
Responder Con Cita
  #3  
Viejo 25/03/12, 22:49:11
Avatar de anggar
anggar anggar no está en línea
Miembro del foro
Mensajes: 73
 
Fecha de registro: mar 2009
Mensajes: 73
Modelo de smartphone: htc diamond
Mencionado: 0 comentarios
Tagged: 0 hilos
De nuevo muchas gracias KrioGen
estab intentando eso pero los parentesis los ponia al otro nuemro y no me salia
Gracias de nuevo.

Saludos.
Responder Con Cita
  #4  
Viejo 26/03/12, 00:00:56
Avatar de KrLx_roller
KrLx_roller KrLx_roller no está en línea
Usuario muy activo
Mensajes: 515
Compra y venta: (3)
 
Fecha de registro: oct 2008
Mensajes: 515
Modelo de smartphone: Xiaomi Mi 10 Pro
Versión de ROM: Xiaomi.eu
Tu operador: Jazztel
Mencionado: 2 comentarios
Tagged: 0 hilos
No sabía que "casteando" un decimal redondeara al alza. Mira que no fijarme en eso...

Cada día se aprende algo nuevo

Enviado desde mi LG-P970 usando Tapatalk
Responder Con Cita
  #5  
Viejo 26/03/12, 00:17:59
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Cita:
Originalmente Escrito por KrLx_roller Ver Mensaje
No sabía que "casteando" un decimal redondeara al alza. Mira que no fijarme en eso...

Cada día se aprende algo nuevo

Enviado desde mi LG-P970 usando Tapatalk
No redondea al alza, lo que hace es quitar la parte decimal y dejar sólo la entera, así que precisamente hace todo lo contrario.

Pero lo que él quería saber era precisamente eso, como obtener la parte entera, luego a eso ya tendrías que comprobar si hay parte decimal o no y si la hay sumarle 1 al número entero.
Responder Con Cita
  #6  
Viejo 27/03/12, 10:56:58
Avatar de anggar
anggar anggar no está en línea
Miembro del foro
Mensajes: 73
 
Fecha de registro: mar 2009
Mensajes: 73
Modelo de smartphone: htc diamond
Mencionado: 0 comentarios
Tagged: 0 hilos
Lo que he hecho es lo siguiente:

double
parteentera;
double decimal;


parteentera=(
int)dientes;
decimal=
dientes-parteentera;

if (decimal>0) dientes=dientes+1;

dientes era tambien double pero fuera del metodo.
y funciona perfectamente

Gracias
Responder Con Cita
  #7  
Viejo 27/03/12, 10:58:21
Avatar de pmaicas
pmaicas pmaicas no está en línea
Desarrollador
Mensajes: 1,299
 
Fecha de registro: dic 2008
Mensajes: 1,299
Mencionado: 25 comentarios
Tagged: 0 hilos
int redondeo_al_alza(float valor)
{
return (int)valor == valor ? valor : valor + 1
}


de nada.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 21:38:46 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007