在java中动态格式化字符串

Big*_*Bug 1 java

有没有办法动态格式化浮点值?

我以为我可以这样做:

System.out.println(new BigDecimal(String.format("%" + k + "s", answer)).toPlainString());
Run Code Online (Sandbox Code Playgroud)

其中k是每次循环的增量...然而,这似乎没有诀窍......

我希望数字看起来像这样:

0.7897
0.78977
0.789778
0.7897789 
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Set*_*nig 6

for (int i=3; i<10; i++) {
    System.out.println(String.format("%1." + i + "f", Math.PI));
}
Run Code Online (Sandbox Code Playgroud)

这样的事情应该有效

[tmp] % java Foo
3.142
3.1416
3.14159
3.141593
3.1415927
3.14159265
3.141592654
Run Code Online (Sandbox Code Playgroud)