[HackerRank]Java貨幣格式化(Java Currency Formatter)

題目描述

給定一個名為payment的雙倍精準浮點數,表示一個金錢的數量。接著將payment轉換為美國、印度、中國、法國所使用的貨幣格式。

原題網址

https://www.hackerrank.com/challenges/java-currency-formatter

輸入格式

輸入一個雙倍精準浮點數,範圍在0到109之間(包含0和109)。

輸出格式

輸出共有四行,格式如下。

US: formattedPayment
India: formattedPayment
China: formattedPayment
France: formattedPayment

formattedPayment為payment格式化成符合當地貨幣格式的結果。

範例輸入

12324.134

範例輸出

US: $12,324.13
India: Rs.12,324.13
China: ¥12,324.13
France: 12 324,13 €

解題概念

使用NumberFormat類別的getCurrencyInstance方法可以將payment轉換為美國、印度、中國、法國所使用的貨幣格式。Locale類別內建了許多常用國家和語言的Locale物件,其中包括美國、中國、法國的Locale物件,沒有印度的Locale物件。因此我們必須自己建立出印度的Locale物件。Locale類別的物件建構子可以透過參數傳入語言和國家的字串,語言字串需符合ISO 639格式,國家字串需符合ISO 3166格式。以這題目的輸出格式來說,印度的Locale物件語言應使用English,English在ISO 639中的代碼為「en」。而印度在ISO 3166中的代碼為「IN」。

參考答案

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章