How to format a Float Value with the device currency format?

后端 未结 4 1965
执念已碎
执念已碎 2021-01-31 07:30

I have an app that prints a calculated money value and I want to display that value with the default currency format.

For example in Europe you would write:

1.

4条回答
  •  猫巷女王i
    2021-01-31 07:53

    For sake of completeness suppose you want to display a price in phone's current locale (correct decimal mark and thousand separator) but with a currency of your choice.

    NumberFormat format = NumberFormat.getCurrencyInstance(Locale.getDefault());
    format.setCurrency(Currency.getInstance("CZK"));
    String result = format.format(1234567.89);
    

    result would then hold these values:

    • CZK1,234,567.89 with US locale
    • 1 234 567,89 Kč with Czech locale

    If you'd like to omit the decimal part for prices (show $199 instead of $199.00) call this before using the formatter:

    format.setMinimumFractionDigits(0);
    

    All options are listed in NumberFormat docs.

提交回复
热议问题