每次输出浮点数不同的小数位数

时间:2013-10-15 13:53:56

标签: java string output decimal precision

我试图解决这个问题很长一段时间。我需要的是一个尽可能简单的脚本,它接受float'x'和int'n',然后输出带有'n'个小数的'x'。它可能有点像:

float x = 111.1111f;    
int n = 2;

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

(输出:'111.11')

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

2 个答案:

答案 0 :(得分:5)

'显而易见'怎么样.....

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

答案 1 :(得分:2)

您也可以使用十进制格式化程序来实现此目的

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