如何在" +"之后用空格格式化双值。

时间:2015-03-27 09:28:39

标签: java formatting

我用:

"%+.1f"

得到:

+6.0
+2.5
-2.2

但需要:

+ 6.0
+ 2.5
- 2.2

这是否可以使用标准的Java Formatter?

2 个答案:

答案 0 :(得分:0)

我不这么认为,我在the Formatter docs中没有提到它,但你可以总是使用类似的东西:

public static String formattedFloat(float f) {
    return String.format("%s %.1f", f >= 0 ? "+" : "-", Math.abs(f));
}

// Example
System.out.println(formattedFloat(-2.21234f);
// prints "- 2.2"
System.out.println(formattedFloat(6f);
// prints "+ 6.0"

答案 1 :(得分:0)

标志很简单,标志设置为开/关,而不是输出的明显部分。 System.out.format(..)使用java.util.Formatter,我看不到任何选项 在同一个函数调用中更改它。你最好的选择是获得输出 在字符串中并手动格式化。