Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / Tradukisto: Conversión de dinero en palabras

Tradukisto: Conversión de dinero en palabras

Por jc mouse lunes, junio 10, 2019

Tradukisto es una biblioteca para Java 8 creada para convertir números enteros o cantidades de dinero a sus equivalentes en palabras. El proyecto se encuentra disponible en GitHub bajo Copyright 2015-2019 Allegro Group licenciado bajo la Licencia Apache, Versión 2.0.

Actualmente Tradukisto soporta los siguientes lenguajes:

  • Brazilian Portuguese
  • Czech
  • English
  • French
  • German
  • Italian
  • Kazakh
  • Latvian
  • Polish
  • Russian
  • Slovak
  • Ukrainian
  • Serbian (latin)
  • Turkish

Tradukisto se encuentra disponible tanto para aplicaciones Java como Android pudiendo ser implementado desde Maven:

<!-- https://mvnrepository.com/artifact/pl.allegro.finance/tradukisto -->
<dependency>
    <groupId>pl.allegro.finance</groupId>
    <artifactId>tradukisto</artifactId>
    <version>1.8.0</version>
</dependency>

o

repositories {
    mavenCentral()
}

dependencies {
    compile 'pl.allegro.finance:tradukisto:1.8.0'
}

¿Como se usa?

Primero se debe indicar el tipo de moneda o numero al que se dese convertir con MoneyConvertersValueConverters. A continuación se usa el método asWords() para indicar el valor a convertir el cual es retornado en un String.

A continuación un ejemplo para la conversión tanto de monto de dinero como de valores enteros:

import java.math.BigDecimal;
import pl.allegro.finance.tradukisto.MoneyConverters;
import pl.allegro.finance.tradukisto.ValueConverters;

/**
 * @see http://www.jc-mouse.net
 * @author mouse
 */
public class Main {

    public static void main(String[] args) {

        System.out.println("Dinero");

        MoneyConverters converter = MoneyConverters.ENGLISH_BANKING_MONEY_VALUE;
        String moneyAsWords = converter.asWords(new BigDecimal("123.80"));
        System.out.println(moneyAsWords);

        converter = MoneyConverters.BRAZILIAN_PORTUGUESE_BANKING_MONEY_VALUE;
        moneyAsWords = converter.asWords(new BigDecimal("100003.10"));
        System.out.println(moneyAsWords);

        converter = MoneyConverters.GERMAN_BANKING_MONEY_VALUE;
        moneyAsWords = converter.asWords(new BigDecimal("28.50"));
        System.out.println(moneyAsWords);

        converter = MoneyConverters.RUSSIAN_BANKING_MONEY_VALUE;
        moneyAsWords = converter.asWords(new BigDecimal("7623.99"));
        System.out.println(moneyAsWords);

        System.out.println("\nNumeros");

        ValueConverters vconverter = ValueConverters.ENGLISH_INTEGER;
        String valueAsWords = vconverter.asWords(1_234);
        System.out.println(valueAsWords);

        vconverter = ValueConverters.BRAZILIAN_PORTUGUESE_INTEGER;
        valueAsWords = vconverter.asWords(500_000);
        System.out.println(valueAsWords);

        vconverter = ValueConverters.GERMAN_INTEGER;
        valueAsWords = vconverter.asWords(634);
        System.out.println(valueAsWords);

        vconverter = ValueConverters.RUSSIAN_INTEGER;
        valueAsWords = vconverter.asWords(69);
        System.out.println(valueAsWords);
    }

}

Ejecutando tenemos:

money money

Lo malo. No disponible para el idioma español.

Lo bueno. El código fuente del proyecto se encuentra disponible en GitHub pudiendo utilizarlo y modificarlo en nuestros proyectos respetando claro su licencia de apache 2.0

Lo feo. Comenzar a traducirlo al español.

enjoy!

Tags

Artículos similares

Laravel 12 Theming Multi-Dominio: Cómo Servir Múltiples Diseños con un Solo Backend Monolítico

El tema que trataremos en este post es la implementación de una arquitectura de temas dinámicos (theming) dentro de un p[...]

Sin instalación, sin problemas: Escritorio Linux completo en una pestaña del navegador

Desarrollado por Leaning Technologies, WebVM utiliza la magia de WebAssembly (gracias a su motor CheerpX) para crear un[...]

Arrastrar y cargar archivo Excel *.xlsx en tabla Java

A continuación tenemos una clase que nos permite arrastrar un archivo de Excel (*.xlsx) y cargar su contenido en una tab[...]

Control de versiones con GIT y Netbeans

Control de versiones: Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los eleme[...]

JLabel: Escalar imagen

El componente swing JLabel nos permite cargar una imagen con la propiedad setIcon, sin embargo la imagen no toma el tama[...]

SharedPreferences: Preferencias de Usuario

En este post construiremos paso a paso un SharedPreferences más conocido en español como «Preferencias de Usuario«, esta[...]