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

Respuesta
 
Herramientas
  #1  
Viejo 25/03/12, 21:16:48
Array

[xs_avatar]
anggar anggar no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Mensajes: 73
Modelo de smartphone: htc diamond

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
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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
Array

[xs_avatar]
anggar anggar no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Mensajes: 73
Modelo de smartphone: htc diamond

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
Array

[xs_avatar]
KrLx_roller KrLx_roller no está en línea
Usuario muy activo
· Votos compra/venta: (3)
 
Fecha de registro: oct 2008
Mensajes: 515
Modelo de smartphone: Xiaomi Mi 10 Pro
Tu operador: Jazztel
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
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
 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
Array

[xs_avatar]
anggar anggar no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Mensajes: 73
Modelo de smartphone: htc diamond

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
Array

[xs_avatar]
pmaicas pmaicas no está en línea
Desarrollador
 
Fecha de registro: dic 2008
Mensajes: 1,299

int redondeo_al_alza(float valor)
{
return (int)valor == valor ? valor : valor + 1
}


de nada.
__________________
Saludos
-Pedro-
http://www.maicas.net/ (desarrollo de software)
http://droid.maicas.net/ (solo android)
Responder Con Cita
Respuesta

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



Hora actual: 06:26:00 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /