Calculo De Percentual de venda

Fala pessoal tudo bem ?
Estou fazendo um formulário de produtos onde pego o valor de compra e a margem de venda de 20% a 50% de lucro e quero exibir o valor final para quem esta cadastrando por exemplo o valor de compra e R$ 30,00 com 50% de lucro seria 15 reais, depois disso gostaria de calcular e exibir em uma jTextField o valor da soma no caso 45,0, consegui realizar dessa forma abaixo, por acaso tem alguma forma mais compacta de fazer o mesmo ?desde ja grato a todos!abraço

float p1 = Float.parseFloat(jT_ValorCompra.getText());
    float cent = Float.parseFloat((String) jC_Margem.getSelectedItem());
    float rst = (p1*cent/100);
    String a = String.valueOf(rst + p1);
    jT_ValorVenda.setText(a);

Boa noite amigo.

A única coisa que eu mudaria seria a variável, pois quando se trabalha com valores é preciso muita precisão e com float você vai ter problemas ao fazer cálculos com grandes valores.

public class VendaUtil {

public static void main(String[] args) {
    VendaUtil util = new VendaUtil();
    System.out.println(util.calcularValorVenda("30", "50"));
}

/**
 * Método para calcular preço de venda baseado em markup
 *
 * @param valorCompra String com o valor de compra
 * @param margemContribuicao String com a porcentagem de markup
 * @return String com o valor de venda
 */
public String calcularValorVenda(String valorCompra, String margemContribuicao) {
    BigDecimal vc = new BigDecimal(valorCompra.replace(",", "."));
    BigDecimal valorVenda = new BigDecimal(margemContribuicao).divide(new BigDecimal(100)).multiply(vc).add(vc);
    return valorVenda.toString();
}

}

Boa sorte a todos. :metal::sunglasses::metal:

1 curtida