【问题标题】:Output float with different number of decimals each time每次输出具有不同小数位数的浮点数
【发布时间】:2013-10-15 13:53:56
【问题描述】:

我试图解决这个问题已经有一段时间了。我需要的是一个尽可能简单的脚本,它采用 float 'x' 和 int 'n' 然后输出 'x' 和 'n' 小数位数。可能是这样的:

float x = 111.1111f;    
int n = 2;

System.out.printf("%{n}f", x);

(输出:'111.11')

我主要寻找的是某种格式化工具,允许您在字符串声明中使用变量。有没有像这样简单的方法让它工作?如果不是,我的问题最简单的解决方案是什么?

【问题讨论】:

    标签: java string output decimal precision


    【解决方案1】:

    “显而易见”怎么样.....

    System.out.printf("%." + n + "f", x);
    

    【讨论】:

    • 谢谢!这行得通,我只需要添加一个缺失的点。 System.out.printf(".%" + n + "f", x);
    • 没问题,为了完整性加点。
    【解决方案2】:

    您也可以使用十进制格式化程序来实现这一点

            int n = 2;
            float x = 111.1111f;  
            DecimalFormat df = new DecimalFormat();
            df.setMaximumFractionDigits(n);
            System.out.println(df.format(x));
    

    【讨论】:

      猜你喜欢
      • 2017-04-18
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      相关资源
      最近更新 更多