Como pegar os dois últimos caracteres da string?

Pessoal,

Tenho um método que faz algumas operações aritméticas. Daí eu pego o resultado da operação e transformo em uma string para exibi-la em um JLabel. Acontece que quando a operação retorna um número inteiro, o resultado exibido sempre dá com um .0 (exemplo: 2 + 2 = 2.0). O que eu posso fazer para tirar o “ponto zero”, já que o resultado deu um inteiro, embora armazenado em um double?
Pensei em tentar descobrir se o resultado deu inteiro, daí é só retirar os dois últimos caracteres da string (visto que o double é transformado em string). Mas eu não sei fazer isto. Alguém pode me ajudar? Me passar um exemplo? - - -sou iniciante…
Obrigado.

knik,

use o método substring()

String valor = "2.0"; String novo = valor.substring(0,valor.length-2);

Tente isto.

Outra opção é executar intValue() de um objeto do tipo Double.

Márcio

Voce tb pode fazer uma CAST de double para int ja que o valor esta armazenado numa variavel double…o unico problema é que vai arredondar o numero, ai se for o caso depois vc converte o int para string


double valor = 2.0; // valor double
int valor2 = (int) valor; // cast para inteiro (transforma de 2.0 para 2 )
String recebeValor = Integer.toString(valor2); // converte para String
 

Estou imaginando que o Knik esteja querendo fazer algo como:

se o resultado for 2.0 então mostrar “2”
se o resultado for 2.4 então mostrar “2.4”

Em particular acho que isso é “feio”. Prefiro que mostre sempre uma quantidade fixa de dígitos depois da vírgula, como “2.40000” ou “2.00000”. Para fazer isso, pode-se usar String.format ("%.5f", x) ou então new DecimalFormat ("#.00000").format(x)

Obrigado pessoal,
Qualquer uma das respostas ao meu post satisfaz plenamente.
Vou usá-las e testá-las, uma por uma, para aprender.
thanks.

Obrigado pessoal,
Qualquer uma das respostas ao meu post satisfaz plenamente.
Vou usá-las e testá-las, uma por uma, para aprender.
thanks.