Java - Calculadora - jBuilder

 
Vista:

Calculadora - jBuilder

Publicado por r3drum (3 intervenciones) el 01/01/2009 04:03:56
Hola

He repasado las notas que están basadas en calculadoras, pero no he encontrado la solución a mí problema. A razón de esto os lo comento:

1º Los número son de tipo float (entre otras cosas, en las divisiones pueden salir números decimales)

2º Debido a ello, le he puesto a dicha pantalla el valor por defecto ' 0.0 ', pero no me gusta, quiero que aparezca tal y como el una calculadora normal, es decir, que siempre salgan los números enteros (0, 25, 2112, etc...), excepto en los números que tengan decimales, pues que en esos casos salgan con su parte decimal propia (1.568, 2.5, 17.99, etc)

Me imagino que al leer el apartado 2º ya sabéis cual es mi problema, que al sumar 3 + 6 el resultado es ' 9.0 ', cuando quisiera que saliera solamente la parte entera (no la decimal) ' 9 '.

3º Tengo pensado hacer algo así:
...
int res;
float resultado, Aux1, Aux2;
...
resultado = Aux1 + Aux2;
if ( <resultado es decimal> ) {
jTextField.setText( "" + xxxx . xxx );
}
else {
jTextField.setText( "" + xxxx );
}
...

4º Otra opción, es el poder pasar un valor de una variable de tipo ' float '
a una variable de tipo ' int '.

float varFloat;
int varInt;

varFloat = 10.23 --> varInt = 10

Pero no sé si esto se puede hacer, y si es que se puede;
tampoco sé como se hace


Muchas Gracias por leer esta pequeña consulta
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Calculadora - jBuilder

Publicado por r3drum (3 intervenciones) el 07/01/2009 23:11:50
Ya he encontrado la solución xD

float resultado;
int aux;
...

aux = (int) resultado; //se asigna la parte entera de un 'float' a un 'int'

//si son iguales, significa que la parte decimal tiene el valor '0'
if (aux == resultado) {
jTextField.setText("" + aux); //si es asi, sale en pantalla SIN decimales
}
else {
jTextField.setText("" + resultado); //sino es así, sale en pantalla CON decimales
}
...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar