Format a double of a variable with two houses

Asked

Viewed 102 times

0

I have a number in Double coming from an object (think) and will be displayed in a table abstractTable. I would like it to be displayed with only two houses after the point. My code below:

public Double preco = 1.0; 
public Double precoDesconto = 1.0;
int desconto = rs.getInt("desconto");
System.out.println("Após verificar na DAO, o desconto é: " + desconto);

if (desconto == 1) {
    precoDesconto = preco * 0.3847;
} else if (desconto == 2) {
    precoDesconto = preco * 0.405;
}

try {                
    return dados.get(linha).getPreco() * getDesconto(getDesconto(precoDesconto));
} catch (FileNotFoundException ex) {
    System.out.println("\n" + this + " Erro ao obter preco com desconto: " + ex);
}

Note: I am calculating the discount percentage of a priced product preco and each user will have a different discount desconto. The discounted price is expressed in precoDesconto.

  • 1

    It should help you https://answall.com/questions/30701/formation-de-um-double-java

2 answers

0

There are two solutions.

1° solution:

String resultadoFormatado = String.format("%.2f", precoDesconto);

2° solution:

DecimalFormat formato = new DecimalFormat("#.##");
double resultadoFormatado = Double.valueOf(formato.format(precoDesconto));

0

import java.text.Decimalformat;

public class Format {

public static void main(String[] args) {

    double integerDouble1 = (2.345);
    Double integerDouble2 = new Double(2.345);

    System.out.println("# Inteiro Duplo sem Formatação (" + integerDouble1 + ")");

    //Neste exemplo (integerDouble1), o Inteiro Duplo é implementado como sendo uma Variável  
    System.out.println("# Exemplo (1): Inteiro Duplo com Formatação (1) >>> (" + (new DecimalFormat("#.##")).format(integerDouble1) + ")");
    System.out.println("# Exemplo (1): Inteiro Duplo com Formatação (2) >>> (" + String.format("%.2f", integerDouble1) + ")");

    //Neste exemplo (integerDouble2), o Inteiro Duplo é implementado como sendo um Objeto da Classe (wrapper) Double  
    System.out.println("# Exemplo (2): Inteiro Duplo com Formatação (1) >>> (" + (new DecimalFormat("#.##")).format(integerDouble2) + ")");
    System.out.println("# Exemplo (2): Inteiro Duplo com Formatação (2) >>> (" + String.format("%.2f", integerDouble2) + ")");

}

}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.