有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    如果您这样做是为了格式化货币,那么使用区域设置会更加可靠:

    Locale uslocale = new Locale.Builder().setLanguage("en").setRegion("US").build();
    NumberFormat.getCurrencyInstance(uslocale).format(payment);
    
  2. # 2 楼答案

    DecimalFormatSymbols symbols = new DecimalFormatSymbols();
    symbols.setGroupingSeparator(' ');
    DecimalFormat format = new DecimalFormat("#,###.00", symbols);
    
    System.out.format("%14s\n", format.format(1235353.93));
    System.out.format("%14s\n", format.format(10.03));
    

    在我的机器上打印以下内容:

      1 235 353.93
             10.03
    

    如果要将结果存储到变量中,也可以使用String.format

    String formatted = String.format("%14s", format.format(1235353.93));
    
    System.out.println("Formatted Number is " + formatted);
    

    但是,如果您不介意使用(空格)作为分组分隔符,您可以简单地执行以下操作:

    String.format("%,14.2f", 234343.34);
    

    将打印:

        234,343.34