在Java中,我如何能有效地將像1234.56
花車和類似BigDecimals的成字符串像$1,234.56
美元貨幣格式在Java中
我在尋找以下:
字符串12345.67
成爲字符串$12,345.67
我也在尋找Float
和BigDecimal
。
在Java中,我如何能有效地將像1234.56
花車和類似BigDecimals的成字符串像$1,234.56
美元貨幣格式在Java中
我在尋找以下:
字符串12345.67
成爲字符串$12,345.67
我也在尋找Float
和BigDecimal
。
DecimalFormat moneyFormat = new DecimalFormat("$0.00");
System.out.println(moneyFormat.format(1234.56));
有一個語言環境敏感的成語行之有效:
import java.text.NumberFormat;
// Get a currency formatter for the current locale.
NumberFormat fmt = NumberFormat.getCurrencyInstance();
System.out.println(fmt.format(120.00));
如果您當前的語言環境是在美國,println
將打印$ 120.00
又如:
import java.text.NumberFormat;
import java.util.Locale;
Locale locale = new Locale("en", "UK");
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
System.out.println(fmt.format(120.00));
這將打印:£120.00
以下是根據您的輸入和輸出的代碼::
該程序的輸出對於BigDecimal和數字都是$ 12,345.67,它也適用於float。
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
public class test {
public static void main(String[] args) {
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator(',');
String pattern = "$#,##0.###";
DecimalFormat decimalFormat = new DecimalFormat(pattern, symbols);
BigDecimal bigDecimal = new BigDecimal("12345.67");
String bigDecimalConvertedValue = decimalFormat.format(bigDecimal);
String convertedValue = decimalFormat.format(12345.67);
System.out.println(bigDecimalConvertedValue);
System.out.println(convertedValue);
}
}
非常好!我喜歡這個解決方案 – Erick 2016-06-03 11:54:57