2014-02-18 5 views
0

У меня есть этот блок кодаКак изменить NumberFormat от especific валюты к доллару валюты

двойная цена = rs.getDouble («цена»);

NumberFormat nf = NumberFormat.getCurrencyInstance();

String formatedЦена = nf.format (цена);

buff.append ("(" + formatedPrice + ")");

Когда я запускаю код, все работает нормально, но для валюты установлено значение, например: (C800). Я думаю, это потому, что у моей страны есть «Колон» для валюты, но это то, что из прошлого мы теперь используем валюту доллара. Итак, как я могу изменить валюту, чтобы показать это: ($ 400) вместо этого (C300). Большое спасибо за любую помощь.

ответ

3

использовать вместо:

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

работает как шарм, благодаря всем для ваших ответов. Я не могу дать баллы всем, потому что я ноб. – 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 + ")"); 

Здесь решение