Olá pessoal,
eu estou com uma dúvida aqui
no DecimalFormat e estava fazendo uns testes aqui:
public static void main(String[] args) {
Double valor = 0.3265;
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setDecimalSeparator('.');
DecimalFormat dformt = new DecimalFormat("0.00", dfs);
String resultado = dformt.format(valor);
//Imprimi 0.33 eu quero sem o arredondamento preciso do 0.32
System.out.println(resultado);
}
Quando eu mando imprimir o resultado a
saída é arredondada para cima, o
que eu devo fazer para que o arredondamento
não ocorra?
Será que alguém poderia me dar uma ajuda?
[]'s.
Por que você não quer que o valor não seja arredondado?
Jóia entanglement?
pois eu estou trabalhando
com precisão exata não pode
existir arredondamento
no que eu preciso fazer.
Por isso não posso ter arredondamentos
0.33 é diferente de 0.32 é uma diferença
que não pode ocorrer.
Será que vc entanglement
ou alguém poderia me ajudar?
[]'s.
A “precisão exata” é usar todos os dígitos.
Arredondar (que é o que DecimalFormat mostra) e truncar (que é o que você quer fazer) não são exatos; um peca pelo excesso e outro pela falta.
Acho que você ainda não entendeu o seu problema direito.
Se você precisa, por exemplo, calcular prestações (por exemplo, R$ 1000,00 / 12 dá 11 prestações de 83,33 e mais uma de 83,37, para compensar os centavos), faça as contas com centavos, ou seja, multiplique o valor por 100 (long), etc.
Jóia entanglement? 
me desculpa é isso mesmo
que eu preciso fazer
é o truncamento
vc ou alguém sabe como
eu devo fazer o truncamento
no DecimalFormat?
[]'s.
O que eu preciso fazer realmente
é isso daqui entanglement:
public String calculaCoefCorrelacao(Absorbancia[] absorbancia) throws AnaliseException{
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setDecimalSeparator('.');
DecimalFormat df = new DecimalFormat("0.000", dfs);
double rQuad = tReg.calculaRegressao(absorbancia, concentracao);
if(rQuad >= 0.99){
flag = true;
}
else{
throw new AnaliseException("O valor do R² é menor do que 0.99!");
}
//Teste
JOptionPane.showMessageDialog(null, "Valor do R² = " + df.format(rQuad));
return df.format(rQuad);
}
Preciso calcular um coeficiente de correlação com 3
casas decimais mas fazendo o truncamento.
[]'s.
Mais estranho ainda você precisar do coeficiente de correlação truncado, em vez de arredondado. De qualquer maneira, você pode usar um BigDecimal, e usar o método setScale. Procure aqui algum exemplo no GUJ.
Obrigado entanglement e erico_kl 
pela ajuda eu vou fazer os testes
aqui e qq coisa eu vou voltar aqui.
Abraço a todos.