java equivalent to printf(“%*.*f”)

2022-09-02 10:19:27

在 C 中,printf() 语句允许在参数列表中提供精度长度。

printf("%*.*f", 7, 3, floatValue);

其中,星号分别替换为第一个和第二个值。

我正在寻找Android / Java中的等效物;String.format() 引发异常。

编辑:谢谢,@Tenner;它确实有效。


答案 1

我使用

int places = 7;
int decimals = 3;

String.format("%" + places + "." + decimals + "f", floatValue);

有点丑陋(字符串串联使它表现不佳),但它有效。


答案 2
System.out.print(String.format("%.1f",floatValue));

这将以 1 位小数的精度打印浮点值