[Resolvido] Arredondamento de valores do tipo double
5 respostas
marcos3
Pessoal, estou implementando uma algoritmo que deve ler de um arquivo de texto 15000 valores medidos, em seguida devo calcular os erros absoluto, relativo e por fim encontrar o melhor erro.
A questão é que estou trabalhando com arraylist para armazenar os valores obtidos do arquivo, aí no momento de adicioná-los, os converto para double.
Preciso trabalhar com apenas três casas decimais (no arquivo os valores já estão dessa forma), porém após aplicar as fórmulas estão sendo gerados valores com várias casas decimais. É possível arredondar esses valores?
Exemplo: Er= 0,008329750 <---- resultado obtido, valor desejado -----> Er=0,008
Pessoal, estou implementando uma algoritmo que deve ler de um arquivo de texto 15000 valores medidos, em seguida devo calcular os erros absoluto, relativo e por fim encontrar o melhor erro.
A questão é que estou trabalhando com arraylist para armazenar os valores obtidos do arquivo, aí no momento de adicioná-los, os converto para double.
Preciso trabalhar com apenas três casas decimais (no arquivo os valores já estão dessa forma), porém após aplicar as fórmulas estão sendo gerados valores com várias casas decimais. É possível arredondar esses valores?
Exemplo: Er= 0,008329750 <---- resultado obtido, valor desejado -----> Er=0,008
Ou seria melhor trabalhar com valores BigDecimal?
Pesquise sobre Decimalformat, acredito que é a maneira mais simples.
Só por curiosidade, eu trabalho com metrologia em que tipo de projeto esta trabalhando ou é apenas exercícios?
marcos3
Artur, o arredondamento seria para que a partir da primeira fórmula os valores já fossem arredondados para os próximos cálculos, e não apenas formatá-los para exibição.
Pelo que já li, e até mesmo as poucas vezes que utilizei, o DecimalFormat vai apenas formatar os valores para serem exibidos, não?!
Acabei utilizando o decimalformat mesmo no final, bem na hora de exibir o resultado. Formatei para as 03 casas decimais que precisava.
Obrigado.
A
Artur_Martini
marcos@marcos:
Gente valeu pelas dicas.
Acabei utilizando o decimalformat mesmo no final, bem na hora de exibir o resultado. Formatei para as 03 casas decimais que precisava.
Obrigado.
Que bom que foi resolvido.
Só uma observação, como te falei trabalho com metrologia, e levando isso em conta, não teria sentido você formatar os numeros no primeiro calculo, já que podemos pensar em casas decimais como precisão então quanto mais casas decimais você trabalhar melhor será sua precisão nos calculos, ai no final você formata da maneira que quiser, sem ter influênciado no resultado final.