Es importante comprender el código bien previamente a adaptarlo a tu trabajo y si tquieres aportar algo puedes decirlo en los comentarios.
Solución:
Java tiene Currency
clase que representa los códigos de moneda ISO 4217.
BigDecimal
es el mejor tipo para representar valores decimales de moneda.
Joda Money ha proporcionado una biblioteca para representar el dinero.
Puedes usar API de dinero y divisas (JSR 354). Puede usar esta API, siempre que agregue las dependencias adecuadas a su proyecto.
Para Java 8, agregue la siguiente implementación de referencia como una dependencia a su pom.xml
:
org.javamoney
moneta
1.0
Esta dependencia agregará transitivamente javax.money:money-api
como dependencia.
A continuación, puede utilizar la API:
package com.example.money;
import static org.junit.Assert.assertThat;
import static org.hamcrest.CoreMatchers.is;
import java.util.Locale;
import javax.money.Monetary;
import javax.money.MonetaryAmount;
import javax.money.MonetaryRounding;
import javax.money.format.MonetaryAmountFormat;
import javax.money.format.MonetaryFormats;
import org.junit.Test;
public class MoneyTest
@Test
public void testMoneyApi()
MonetaryAmount eurAmount1 = Monetary.getDefaultAmountFactory().setNumber(1.1111).setCurrency("EUR").create();
MonetaryAmount eurAmount2 = Monetary.getDefaultAmountFactory().setNumber(1.1141).setCurrency("EUR").create();
MonetaryAmount eurAmount3 = eurAmount1.add(eurAmount2);
assertThat(eurAmount3.toString(), is("EUR 2.2252"));
MonetaryRounding defaultRounding = Monetary.getDefaultRounding();
MonetaryAmount eurAmount4 = eurAmount3.with(defaultRounding);
assertThat(eurAmount4.toString(), is("EUR 2.23"));
MonetaryAmountFormat germanFormat = MonetaryFormats.getAmountFormat(Locale.GERMAN);
assertThat(germanFormat.format(eurAmount4), is("EUR 2,23") );
Un tipo integral que representa el valor más pequeño posible. En otras palabras, su programa debe pensar en centavos, no en dólares/euros.
Esto no debería impedir que la interfaz gráfica de usuario lo traduzca de nuevo a dólares/euros.
Tienes la opción de avalar nuestra faena añadiendo un comentario y puntuándolo te damos las gracias.