有 Java 编程相关的问题?

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

java十进制格式不打印。得到12.5而不是12.50

之前我们使用formatter=NumberFormat。getCurrencyInstance(Locale.US);我们得到12.50美元。现在我们不需要$sign,所以我使用formatter=NumberFormat。getNumberInstance(Locale.US);但是得到的是12.5而不是12.50 格式化程序。setMinimumFractionDigits(2);都用了,但没用。我观察到,对于(1-9),对于“12.10”,从12.01、12.02到12.09,打印的是“12.1”。就像wise 12.21在正常情况下为“12.20”获得“12.2”一样


共 (2) 个答案

  1. # 1 楼答案

    实际上,你可以通过以下方式存档结果:

    NumberFormat fn = NumberFormat.getNumberInstance(Locale.US);
    fn.setMinimumFractionDigits(2);
    System.out.println(fn.format(12.50));
    
  2. # 2 楼答案

    你可以用绳子。格式和方法:

    String.format(Locale.US, "%.2f", value );