国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 國際貨幣格式化的示例代碼

2019-12-12 01:37:01
字體:
來源:轉載
供稿:網友

簡評:今天介紹下 Android 中國際貨幣格式化的一個小小知識點。

目前為止,貨幣格式化最簡單的方式是調用 NumberFormat.getCurrencyInstance() 獲得 NumberFormat 實例來把數字格式化為貨幣格式的字符串(當然也可以把字符串轉換成數字)。可以根據當前設備的位置來獲取 java.util.Currency 實例再以此進行貨幣的格式化。

但如果我們的應用只接受特定的幾種貨幣,那這種隨著用戶設備位置而修改貨幣格式就不是一個好的做法。

你可能會說「這簡單啊,那就在國內默認顯示人民幣,其他國家就顯示美元嘛」。

嗯,你很有想法。。。

這里就要講到這篇文章的重點了。

假設你給美國地區展示的是 $1,那他們會默認這是 1 美元,這沒問題。

但世界上還有超過二十個國家和地區的本地貨幣也叫 dollar ($),比如加拿大、澳大利亞和新西蘭。這時候如果你還是展示 $1,那這些國家的用戶就會默認這是指他們的貨幣,這就會造成誤解,讓用戶覺得你們的收費不對。

因此,如果當前用戶是在加拿大的,而商品價格需要為美元,那么在進行格式化時還需要明確符號,以表明顯示的是美元而不是加元。

下面是 Kotlin 代碼的一個例子:

class MainActivity : AppCompatActivity() {   override fun onCreate(savedInstanceState: Bundle?) {    super.onCreate(savedInstanceState)    setContentView(R.layout.activity_main)     textView1.text = formatCurrency(1f, CURRENCY_US_DOLLARS, LANGUAGE_ENGLISH, COUNTRY_US)    textView2.text = formatCurrency(1f, CURRENCY_US_DOLLARS, LANGUAGE_ENGLISH, COUNTRY_CANADA)    textView3.text = formatCurrency(1f, CURRENCY_US_DOLLARS, LANGUAGE_ENGLISH, COUNTRY_AUSTRALIA)  }   private fun formatCurrency(amount: Float, currency: String, language: String, country: String) =      currencyInLocale(currency, language, country).format(amount)   private fun currencyInLocale(      currencyCode: String,      language: String,      country: String = "",      variant: String = ""): NumberFormat =      Locale(language, country, variant).let {        NumberFormat.getCurrencyInstance(it).apply {          currency = Currency.getInstance(currencyCode)        }      }   companion object {    private const val CURRENCY_US_DOLLARS: String = "USD"    private const val LANGUAGE_ENGLISH: String = "EN"    private const val COUNTRY_US: String = "US"    private const val COUNTRY_CANADA: String = "CA"    private const val COUNTRY_AUSTRALIA: String = "AU"  }}

展示效果,從上到下分別是美國、加拿大和澳大利亞:

這里對于加拿大顯示 US$,而澳大利亞顯示 USD。雖然兩者都能理解,但能符合各語言環境的具體情況當然還是更好的。

雖然這可能只是一個小知識點,但我個人覺得知道了還是蠻有用的。

原文: Currency Curiosities

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 禄劝| 平塘县| 河北省| 闽侯县| 蚌埠市| 阿克| 彭阳县| 南京市| 三门县| 大竹县| 呼图壁县| 卢湾区| 梧州市| 屏边| 牟定县| 桃源县| 吉林省| 元氏县| 什邡市| 孝义市| 江川县| 宁城县| 乐平市| 同仁县| 吕梁市| 石嘴山市| 南投县| 本溪| 阿坝县| 揭阳市| 隆安县| 昌乐县| 瓦房店市| 错那县| 舞阳县| 衡水市| 东至县| 德州市| 晋中市| 崇礼县| 涞水县|