logo

O que é truncamento em Java?

O significado inglês de truncar é para aparar ou ameixa seca , ou corte algo e o processo de corte é chamado truncamento . No campo da ciência da computação, o termo é frequentemente usado em referência a tipos de dados ou variáveis ​​(como Corda , números de ponto flutuante, etc.). É uma forma de aproximação. Vamos discutir o que é truncamento em Java e como podemos truncar um flutuante ou número de tipo duplo através de um Programa Java .

Truncamento

Em Java programação , truncamento significa cortar alguns dígitos de um flutuador ou tipo duplo número ou alguns caracteres de um corda da direita. Também podemos truncar completamente a parte decimal, o que a torna um inteiro . Lembre-se que após o truncamento, o número não será arredondado para o valor mais próximo. Por isso, truncamento é uma forma de aproximação .

Geralmente é usado em computação (especialmente em banco de dados e programação) quando a divisão é feita com números inteiros e o resultado deve ser um número inteiro.

Nota: Truncamento e arredondamento são dois conceitos completamente diferentes. Não é o mesmo que Math.floor() , Math.ceil() , e Math.round() função do Aula de matemática .

Agora entendemos claramente o conceito de truncamento. Vamos ver algumas abordagens para truncar números flutuantes ou de tipo duplo e strings também.

Exemplo

Suponha que um número de tipo duplo num=19.87874548973101 é dada. É necessário que haja apenas 3 dígitos após a vírgula. Nesses casos, aplicamos truncamento . Depois de truncar os dígitos restantes, obtemos 19.878 .

Se truncarmos todos os dígitos após a vírgula, torna-se 19 . Se o número for arredondado para o número inteiro mais próximo, torna-se vinte .

O que é truncamento em Java

Agora entendemos claramente o truncamento. Vamos ver algumas abordagens para truncar números flutuantes ou de tipo duplo e strings também.

while e faça loop while em java

Abordagens

Existem duas abordagens para truncar um número:

  • Usando Lógica Matemática
  • Usando correspondência de strings

Usando Lógica Matemática

Podemos truncar o número usando as seguintes etapas:

  1. Mova o decimal do número especificado (n) para a casa decimal fornecida (dp) multiplicando o número 10DP.
  2. Determine o valor mínimo do valor resultante (que obtemos na etapa 1).
  3. Divida o valor mínimo por 10DP.

O valor que obtemos na etapa 3 é um valor truncado.

Se representarmos as etapas acima em termos matemáticos, obteremos:

tente pegar o bloco em java
  • n = n*pow(10,casa decimal);
  • n = andar(n);
  • n = n / pow(10,casa decimal);

Exemplo: Truncar 1.231 até 2 casas decimais.

n=1,231*pow(10,2)
n=1,231*100 = 123.100
n=piso(123.100) = 123
n=123/pow(10,2)
n = 123/100 = 1.23

Vamos implementar a lógica acima em um programa Java.

TruncationExample1.java

 import java.io.*; public class TrunctionExample1 { //driver code public static void main(String args[]) { //the number to truncate double num = 19.87874548973101; //number of digits to take after decimal int digits = 5; System.out.println('The number before truncation is: '+num); //calling user-defined method that truncates a number truncateNumber(num, digits); } //user-defined method to truncate a number static void truncateNumber(double n, int decimalplace) { //moves the decimal to the right n = n* Math.pow(10, decimalplace); //determines the floor value n = Math.floor(n); //dividing the floor value by 10 to the power decimalplace n = n / Math.pow(10, decimalplace); //prints the number after truncation System.out.println('The number after truncation is: '+n); } } 

Saída:

 The number before truncation is: 19.87874548973101 The number after truncation is: 19.87874 

Usando correspondência de strings

  1. Converta o tipo double ou float em Corda
  2. Encontre o decimal ponto na string.
  3. Incrementar a variável ( contar ) até obtermos a vírgula decimal.
  4. Armazene a nova string e passe-a para o analisarDuplo() método. O método retorna o valor duplo representado pela string.

O valor que obtemos na etapa 4 é um valor truncado.

Vamos implementar as etapas acima em um programa Java.

TruncationExample2.java

 import java.io.*; public class TruncationExample2 { public static void main(String args[]) { //the number to truncate double num = 556.9871233986399; //number of digits to take after decimal int decimalplaces = 3; //converting a double type value to String type String strnum = '' + num; //stores the truncated string String strval = ''; int count = -1; //loop iterates over the string until the condition becomes false for (int i = 0; i decimalplaces) { break; } //if the above condition returns false else block is executed else //compares each character of the strnum with decimal //if returns true variable by 1 if (strnum.charAt(i) == '.') { count = 1; } else if (count >= 1) { //increments the count variable by 1 ++count; } //converting the number into string strval = strval + strnum.charAt(i); } System.out.println('The number before truncation is: '+num); //returns double value represented by the string argument double truncatedvalue = Double.parseDouble(strval); System.out.println('The number after truncation is: '+truncatedvalue); } } 

Saída:

 The number before truncation is: 556.9871233986399 The number after truncation is: 556.987 

Nós também podemos cortar uma string em Java . Para esta classe Java String fornece o método trim().