Truncamento

5 respostas
carioca

Alguem sabe como trabalhar com truncamento em Java.

Sei que a classe DecimalFormat trabalha com arredondamento, mas gostaria de trabalhar com truncamento. Alguem pode me ajudar???

5 Respostas

cv1

vc poderia dar um exemplo do comportamento desejado? Fica mais facil assim, ja que pra mim “truncamento” quer dizer outra coisa :wink:

R

Olá Carioca… também não sei como o fazer… :frowning:

CV

o que o carioca quer é que no exemplo abaixo (por exemplo) … o valor retornado é “2.25” e ele gostaria que fosse “2.24”…

import javax.swing.*;
import java.text.*;

public class Truncate extends JFrame {
	
	private DecimalFormat formatoTruncado;

	public Truncate(double valor) {
		formatoTruncado = new DecimalFormat();
		formatoTruncado.setMaximumFractionDigits(2);
		JOptionPane.showMessageDialog(null, "" + formatoTruncado.format(valor));
	}

	public static void main(String[] args) {
		Truncate truncate = new Truncate(2.246);
	}
}

até mais…

cv1

Ah tá :smiley:

Isso se resolve através das funções Math.floor() e Math.ceil() :wink:

carioca

CV, como devo usar essas funções. Tentei mais não consegui o resultado esperado.

louds

Arredondamento é um grande problema em java.

Vejamos, você precisa de arredondamento para mostrar um valor, não para fins matemáticos.

DecimalFormat usa o método ‘half even’ para arredondamento. Que é o método mais comum na engenharia, voce arredonda para o mais próximo ou para o par o no caso de equidistancia.

Não vou saber te responser porque essa classe não te permite controlar o arredondamento, só sei que não da. :frowning:

Porêm nem tudo está perdido!
Voce pode tentar usar a classe BigDecimal para fazer isso, ela te permite escolher entre 8 métodos de arredondamento diferentes.

http://java.sun.com/j2se/1.4.2/docs/api/java/text/DecimalFormat.html

Bons estudos.

Criado 19 de novembro de 2003
Ultima resposta 20 de nov. de 2003
Respostas 5
Participantes 4