2014-02-18 149 views
0

我有這個代碼塊如何從NumberFormat的貨幣especific改變爲美元貨幣

雙價= rs.getDouble(「價格」);

NumberFormat的NF = NumberFormat.getCurrencyInstance();

字符串formatedPrice = nf.format(價);

buff.append( 「(」 + formatedPrice + 「)」);

當我運行代碼時,一切正常,但貨幣設置爲例如: (C800)。我想是因爲我國有貨幣的「冒號」,但這是過去的事情,我們現在使用美元貨幣。那麼,如何改變貨幣來顯示這一點:($ 400),而不是這個(C300)。非常感謝您的幫助。

回答

3

使用,而不是:

NumberFormat nf= NumberFormat.getCurrencyInstance(Locale.US); 
+0

作品像向所有人尋求答案。因爲我是noob,所以我無法給所有人提供點數。 – Photomancia

+0

但你應該接受一個答案 –

+2

@ Photomancia你應該接受一個答案作爲接受的答案來標記問題爲已回答 –

1

假設你正在使用美元可以使用NumberFormat.getCurrencyInstance(Locale.US)

0

您可以使用DecimalFormat

import java.text.DecimalFormat; 

public class Example { 
    public static void main(String[] args) { 
     double price = 1.99; 
     DecimalFormat decimalFormat = new DecimalFormat("$0.00"); 
     System.out.println(decimalFormat.format(price)); 
    } 
} 

它給: $1,99

1

您可以作爲參數添加一個區域,以getCurrencyInstance:

NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.US); 
0

您可以將其默認爲$

下面是解

double price = rs.getDouble("price"); 
    NumberFormat nf= NumberFormat.getCurrencyInstance(); 
    nf.setMaximumFractionDigits(2); 
     Currency currency = Currency.getInstance(Locale.US); 
     nf.setCurrency(currency); 
     String formatedPrice = nf.format(price); 
     System.out.println("(" + formatedPrice + ")"); 

這裏是解決方案的魅力感謝

相關問題