Calculadora - Exibir double como int quando não houver casa decimal

2 respostas Resolvido
java
M
Olá, estou fazendo uma calculadora para Android, porém estou com um problema com a exibição dos valores. Estou usando double como formato (para realizar as operações), porém quando o resultado é exibido ele é mostrado em .0 (ex: 1 + 1 = 2.0), tem como tirar essa casa decimal apenas quando for zero (se o resultado tiver casas decimais quero exibi-las) ?

Procurando sobre encontrei uma forma de descobrir se é 0 ou não:

// Inicio

if (edtValorExibido.getText().length() == 0)

{

edtValorExibido.setText("");

}

else

{

n1 = Double.parseDouble(edtValorExibido.getText() + “”);

subtrai = true;

edtValorExibido.setText(null);

if (n1 == Math.rint (n1))

{

// é .0

iN1 = (int)n1;

edtValorExibido.setText(null);

edtHistorico.setText(iN1 + " -");

}

else

{

// não é .0

edtValorExibido.setText(null);

edtHistorico.setText(n1 + " -");

}

// Fim

obs: esse é o bloco direcionado às subtrações.

Porém, quando uso esse bloco algumas operações ficam erradas, por exemplo, se realizo (1 + 1.5 = 2.5), (1 + 1 = 2), mas em valores específicos (como 2.5 + 2.5 = 0)  bugs e as vezes ele da uma resposta totalmente aleatória.

 outra forma de exibir os números de forma bonitinha ?

Obrigado desde  <img src="//https://cdn.jsdelivr.net/gh/twitter/twemoji@14/assets/72x72/s.pnglight_smile.png?v=5" title=":slight_smile:" class="emoji" alt=":slight_smile:">

2 Respostas

M
Solucao aceita

Veja se esse tópico te ajuda

M

Obrigado !!! Tinha feito uma “busca” e não encontrei esse tópico, desculpe-me pela redundância.

Criado 2 de setembro de 2018
Ultima resposta 2 de set. de 2018
Respostas 2
Participantes 2