Como somar em java dois números formato moeda ?
Exemplo: 1.125,65 + 2.025,25
Tem uma api para Java que faz isso :
exemplos : https://github.com/JavaMoney/javamoney-examples
e um livro em português : https://otaviojava.gitbooks.io/money-api/pt-br/index.html
package br.com.danieldias.moneyTest;
import javax.money.CurrencyUnit;
import javax.money.Monetary;
import javax.money.MonetaryAmount;
import org.javamoney.moneta.Money;
public class Main {
public static void main(String[] args) {
CurrencyUnit unit = Monetary.getCurrency("BRL");
MonetaryAmount amont = Money.of(1.125_65, unit);
MonetaryAmount amont2 = Money.of(2.025_25, unit);
MonetaryAmount soma = amont.add(amont2);
System.out.println(soma);
}
}
{ }s.
BigDecimal
// 1.125,65 + 2.025,25
BigDecimal n1 = new BigDecimal("1.125,65".replace(".", "").replace(",", "."));
BigDecimal n2 = new BigDecimal("2.025,25".replace(".", "").replace(",", "."));
BigDecimal soma = n1.add(n2);
NumberFormat nF = NumberFormat.getCurrencyInstance();
System.out.println(nF.format(Double.valueOf(soma.toString())));
Output:
R$ 3.150,90
