📜  如何在 Android 中使用 getCurrencyInstance 方法?

📅  最后修改于: 2022-05-13 01:55:33.806000             🧑  作者: Mango

如何在 Android 中使用 getCurrencyInstance 方法?

在 Android 中,当我们要格式化任何 TextView 的数字时,我们使用“NumberFormat”类,它是所有格式化方法的基类。因此,不同的格式化方法用于不同类型的格式化。这样,当我们必须为特定语言环境指定数字时,将使用 getInstance 方法。例如:getNumberInstance() 用于查找整数格式, getPercentInstance()用于显示数字是百分比,例如 0.53 到 53%,getCurrencyInstance 用于获取货币格式。我们将在这里讨论。

我们将在本文中构建什么?

我们将构建一个应用程序,在该应用程序中我们获取一些数字作为输入,并使用 getcurrencyInstance 方法将其与货币符号一起显示。应用组件。

  1. EditText 接受输入
  2. TextView 建议
  3. 按钮,点击时显示结果
  4. 另一个显示结果的 TextView

让我们看看下面的编码实现。

分步实施

第 1 步:创建一个新项目

要在 Android Studio 中创建新项目,请参阅如何在 Android Studio 中创建/启动新项目。请注意,选择Kotlin作为编程语言。



步骤 2:使用 activity_main.xml 文件

导航到app > res > layout > activity_main.xml并将以下代码添加到该文件中。下面是activity_main.xml文件的代码。

XML


      
    
  
    
  
    


XML

    Geeksforgeeks Currency adder
    Amount you entered with currency sign is
    Show Value
    Enter an amount


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
    }
  
}


第 3 步:使用字符串.xml 文件

导航到app > res > values > 字符串.xml并将以下代码添加到该文件中。下面是字符串.xml文件的代码

XML


    Geeksforgeeks Currency adder
    Amount you entered with currency sign is
    Show Value
    Enter an amount

第 4 步:使用MainActivity。 Java文件

转到MainActivity.kt文件并参考以下代码。下面是MainActivity.kt文件的代码。代码中添加了注释以更详细地理解代码。

科特林

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
    }
  
}

这就是我们得到的。

输出:

输出

应用程序输出窗口

想要一个更快节奏和更具竞争力的环境来学习 Android 的基础知识吗?
单击此处前往由我们的专家精心策划的指南,旨在让您立即做好行业准备!