Valor vem arredondado :(

5 respostas
Jaison

Olá pessoal, estou fazendo um calculo onde quero que o resultado final seja na “mascara” 0.00 (duas casas decimais) a formula é:

double x = ((((87*2)*15)/100)-87*2)*(-1); System.out.println(x);

o resultado dessa formula está dando 148.0 ao invés de 147.90

alguém sabe como posso fazer pra não resulta em um double arredondado?

abraço.

5 Respostas

J

Use o DecimalFormat veja
http://www.guj.com.br/posts/list/48883.java

Sami_Koivu
double x = ((((87*2)*15)/100d)-87*2)*(-1);

serve?

Jaison

Sami Koivu:
double x = ((((87*2)*15)/100d)-87*2)*(-1);

serve?

Serve :smiley: Valeu Sami!!! não conhecia isso (100d), vou dar mais uma estudada sobre esse assunto. Obrigado novamente.

Jaison

[quote=jr.mg]Use o DecimalFormat veja
http://www.guj.com.br/posts/list/48883.java
[/quote]

valeu jr.mg mais em JME eu não posso usar a classe java.text

mais valeu a ajuda mesmo assim, abraço.

Sami_Koivu

Jaison:
Sami Koivu:
double x = ((((87*2)*15)/100d)-87*2)*(-1);

serve?

Serve :smiley: Valeu Sami!!! não conhecia isso (100d), vou dar mais uma estudada sobre esse assunto. Obrigado novamente.

Aquele d serve para dizer que o valor literal 100 é um double… senão seria um int. E confesso que não sei de cor como isto funciona, mas aparentemente dividindo com um int produz um int (o que causa o arredondamento indesejado no seu caso).

[]s,
Sami

Criado 20 de janeiro de 2007
Ultima resposta 20 de jan. de 2007
Respostas 5
Participantes 3