¿Cómo usar el método getCurrencyInstance en Android?

En Android, cuando tenemos que formatear los números de cualquier TextView, usamos la clase «NumberFormat» que es la clase base de todos los métodos de formateo. Por lo tanto, se utilizan diferentes métodos de formato para los diferentes tipos de formato. De esta forma, cuando tenemos que especificar los números para un lugar en particular, se usa el método getInstance. Por ejemplo: getNumberInstance() se usa para encontrar un formato de número entero, getPercentInstance() se usa para mostrar que el número es un porcentaje, como 0.53 a 53% y getCurrencyInstance para obtener el formato de moneda. Sobre el cual vamos a discutir aquí.

¿Qué vamos a construir en este artículo? 

Vamos a crear una aplicación en la que obtengamos un número como entrada y lo mostremos con el símbolo de moneda usando el método getcurrencyInstance. Componentes de aplicación.

  1. EditText para tomar entrada
  2. TextView para sugerir
  3. Botón , cuando se hace clic muestra el resultado
  4. Otro TextView para mostrar el resultado

Veamos la implementación de la codificación a continuación.

Implementación paso a paso

Paso 1: Crear un nuevo proyecto

Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Kotlin como lenguaje de programación.

Paso 2: trabajar con el archivo activity_main.xml

Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo  activity_main.xml .

XML

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/teal_200"
    android:orientation="vertical"
    tools:context=".MainActivity">
      
    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:layout_marginTop="20dp"
        android:autofillHints="@string/enter_an_amount"
        android:hint="@string/enter_an_amount"
        android:textColor="@color/black"
        android:textSize="30sp"
        android:textStyle="bold" />
  
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:layout_marginTop="20dp"
        android:text="@string/amount"
        android:textColor="@color/black"
        android:textSize="30sp"
        android:textStyle="bold" />
  
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:layout_marginTop="20dp"
        android:onClick="showValue"
        android:text="@string/show_value" />
  
    <TextView
        android:id="@+id/output"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="10dp"
        android:layout_marginTop="20dp"
        android:textColor="@color/black"
        android:textSize="30sp"
        android:textStyle="bold" />
  
</androidx.appcompat.widget.LinearLayoutCompat>

Paso 3: trabajar con el archivo strings.xml

aplicación > res > valores > strings.xml strings.xml

XML

<resources>
    <string name="app_name">Geeksforgeeks Currency adder</string>
    <string name="amount">Amount you entered with currency sign is</string>
    <string name="show_value">Show Value</string>
    <string name="enter_an_amount">Enter an amount</string>
</resources>

Paso 4: trabajar con el archivo MainActivity.java

Vaya al archivo MainActivity.kt y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.kt . Se agregan comentarios dentro del código para comprender el código con más detalle.

Kotlin

import android.os.Bundle
import android.view.View
import android.widget.EditText
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import java.util.*
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
  
    fun showValue(view: View) {
        // variable editText to get the id of editText
        val editText: EditText = findViewById(R.id.editText)
        // we've id in editText variable, convert it into Int
        val value: String = editText.text.toString()
        // get the currency of local system
        val currency: Currency = Currency.getInstance(Locale.getDefault())
        // store the currency sign in symbol variable
        val symbol: String = currency.symbol
        val message = "$symbol$value"
        // now again find the id of output textView
        val textView: TextView = findViewById(R.id.output)
        // set the message value in it with sign
        // first way
        textView.text = message
        // second way
        // message.also { textView.text = it }
        // following line tells us how we can add any specific currency
        // val newCurrency: Currency = Currency.getInstance("EUR")
        // and everything will be same
    }
  
}

Y esto es lo que obtenemos.

Producción:

Output

Ventana de salida de la aplicación

Publicación traducida automáticamente

Artículo escrito por patelajeet y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *