2014-02-18 150 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 + ")"); 

这里是解决方案的魅力感谢

相关问题