Olá pessoal!!
Estou tentando arredondar o valor (54.625) para (54.65), alguem pode me dar uma ajuda ??
Olá pessoal!!
Estou tentando arredondar o valor (54.625) para (54.65), alguem pode me dar uma ajuda ??
Utizize os métodos round(), ceil() e floor() da classe Math para arrendodar valores
De uma olhada neste exemplo e ve se ele te ajuda
// classe que contem o elemento aproximador
import java.text.DecimalFormat;
public class Aproximar {
public static void main( String[] args ) {
double num1 = 10, num2 = 3, divisao;
divisao = num1 / num2;
// esse aqui e o metodo aproximador
DecimalFormat aproximador = new DecimalFormat( " 0.00 " );
/* nesse caso eu estou aproximando pra duas casas
decimais depois da virgula, mas nada impede de
colocar + ou menos casas. E so almentar os zero */
// olhe o q eu fiz com a variavel da divisao
System.out.println( " A divisao é => " + aproximador.format(divisao) );
}
}
O problema e que
Utizize os métodos round(), ceil() e floor() da classe Math para arrendodar valores De uma olhada neste exemplo e ve se ele te ajuda// classe que contem o elemento aproximador import java.text.DecimalFormat; public class Aproximar { public static void main( String[] args ) { double num1 = 10, num2 = 3, divisao; divisao = num1 / num2; // esse aqui e o metodo aproximador DecimalFormat aproximador = new DecimalFormat( " 0.00 " ); /* nesse caso eu estou aproximando pra duas casas decimais depois da virgula, mas nada impede de colocar + ou menos casas. E so almentar os zero */ // olhe o q eu fiz com a variavel da divisao System.out.println( " A divisao é => " + aproximador.format(divisao) ); } }
O problema é que o resultado esta dando 54,62 e preciso que de 54.65
54.625 nunca pode arredondar para 54.65, só arredonda pra 54.62 ou 54.63
Olá pessoal!!Estou tentando arredondar o valor (54.625) para (54.65), alguem pode me dar uma ajuda ??
Você precisa arredondar algo de 5 em 5 centavos ou de 50 em 50 gramas (ou seja, em frações de 1/20)? A forma mais simples, no seu caso, é multiplicar por 20, arredondar para o inteiro mais próximo, e a seguir dividir por 20.
54.625 * 20.0 == 1092.50
1092.50 -> 1093
1093 / 20.0 == 54.65
Se for isso então é só fazer isso que lhe indiquei.
Olá pessoal!!Estou tentando arredondar o valor (54.625) para (54.65), alguem pode me dar uma ajuda ??
Você precisa arredondar algo de 5 em 5 centavos ou de 50 em 50 gramas (ou seja, em frações de 1/20)? A forma mais simples, no seu caso, é multiplicar por 20, arredondar para o inteiro mais próximo, e a seguir dividir por 20.
54.625 * 20.0 == 1092.50
1092.50 -> 1093
1093 / 20.0 == 54.65Se for isso então é só fazer isso que lhe indiquei.
Olá pessoal…
Estou lendo alguns exemplos de arredondamento e tudo mais… porque tenho que fazer manutenção em um sistema onde praticamente não tem arredondamento… ou seja… no banco é salvo o valor com muitas casas decimais…
O problema que ocorre é que na tela aparece os valores intermediários e depois o valor total…
Para exibir, ele formata com 2 casas… mas por trás… nos cálculos não faz nenhum arredondamento… ai acontece a seguinte situação:
Código:
1.366797 + 2.4844758 + 1.004985 = 4.8562578 (arredondando 4.86)
Exibição na tela:
1.37 + 2.48 + 1.00 = 4.85
Comparando:
4.8562578 - 4.85 = 0,0062578
Acima já podemos notar uma perda pequena… mas isso em um cálculo… onde o sistema faz alguns nesses estilo… Onde se fazer uma somatória dos valores em tela, não batem com os valores salvos no banco, ou parâmetros informados.
De primeiro momento pensei em fixar todas as variáveis em 2 casas, até mesmo nos cálculos, ou mesmo fixa os arredondamentos para baixo… ou em frações de 1/20.
Enfim… não sei muito bem que caminho tomar para acertar isso…
Alguma dica ?
Vlw !!
Olha, se não me engano, se você colocar só pra arredondar na forma de apresentação, como por exemplo… na hora de mostrar o cálculo mostra com um math.ceil ou floor ou mesmo utilizando o Decimal Format… mas fizer os cálculos normalmente com as variáveis em questão… o programa calcula com o valor original, e não com o que é mostrado de forma arredondada… Pelo menos os cálculos que fiz funcionaram assim… :shock: