String.valueOf("Variavel Float") Problemas

OPa…

eu estou com o seguinte problema…

estou fazendo uma calculadora em Java, porem quando faço calculos em base Decimal eu uso variaveis to tipo float, mesmo que o resultado sexa exata com 2 x 2… quando jogo o valor para um JTextField ele aparece “4.0”

nesse caso eu gostaria que ele se comportasse como ineiro e aparecesse apensa “4”, porem não posso usar Integer.valueOf(), pois ele pode ter o resultado nao exato como 4.22222

Existe alguma forma de saber se um float não tem nada alem de 0 apos a virgula?
ou alguma mascara que eu possa colocar nele?

Obrigado pela atenção!!

Tente formatar o valor com a classe DecimalFormat… mais ou menos assim:

DecimalFormat decimalFormat = new DecimalFormat("0.#"); String valor = decimalFormat.format(meuValor);
Acho que o pattern é esse mesmo. O “#” é para escrever se tiver alguma coisa depois da vírgula e o “0” é para colocar zero antes da vírgula caso o valor seja um decimal menor que 1 (mais ou menos isso).

Não tenho como testar aqui, mas se não for esse o pattern, dá uma olhada na documentação.

Abraço.

fiz um chuncho pior que isso

hehe
mas funcionou da forma que eu queria

texto.setText(String.valueOf(Integer.parseInt(aux1.substring(0,aux1.indexOf(".")))));

float num1 = 2; float num2 = 2; int divisao = (int) (num1 / num2); System.out.println(divisao);

Casting…

EDITED

Ops…assim ele sempre retorna apenas o inteiro…

Transforme em String, use o indexOf para verifica o que vem depois da virgula…se for apenas 0, vc coloca isso em uma variável inteira com casting, senão, vc coloca esse valor em uma variável float…

É o modo mais fácil!