【问题标题】:USD Currency Formatting in JavaJava中的美元货币格式
【发布时间】:2011-03-05 18:44:57
【问题描述】:

在 Java 中,如何有效地将 1234.56 和类似 BigDecimals 之类的浮点数转换为 $1,234.56 之类的字符串

我正在寻找以下内容:

字符串12345.67变成字符串$12,345.67

我也希望通过 FloatBigDecimal 来实现这一点。

【问题讨论】:

    标签: java string currency


    【解决方案1】:

    有一个对地区敏感的习语效果很好:

    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

    【讨论】:

      【解决方案2】:
      DecimalFormat moneyFormat = new DecimalFormat("$0.00");
      System.out.println(moneyFormat.format(1234.56));
      

      【讨论】:

      • 太棒了!我喜欢这个解决方案
      【解决方案3】:

      这里是根据你输入输出的代码::

      BigDecimal 和数字的程序输出为 $12,345.67,它也适用于浮点数。

      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);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-03-31
        • 1970-01-01
        • 2018-03-29
        • 2021-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多