1
我有一个常数是负值,我希望输出结果为正值。当我添加%+ f时,它不会执行任何操作,并且输出仍然出现-15,123.45?printf(“%+ f”,..)仍然显示负数
public static final double n2 = -15123.456789;
System.out.printf("%+,.2f\n", n2);
我有一个常数是负值,我希望输出结果为正值。当我添加%+ f时,它不会执行任何操作,并且输出仍然出现-15,123.45?printf(“%+ f”,..)仍然显示负数
public static final double n2 = -15123.456789;
System.out.printf("%+,.2f\n", n2);
格式字符串"%+,.2f\n"
只定义了必须打印值的格式。 它不会更改实际值。如果您的输入值为负值,则输出字符串将显示为负值。这就像,当你使东西加粗时,它不会改变为另一件事。
要将该值转换为相反符号( - to +,+ to - ),可以将值乘以-1
:感谢kjbartel作为快捷方式。
System.out.printf("%+,.2f\n", -1 * n2);
// or
System.out.printf("%+,.2f\n", -n2);
将值转换始终是积极的( - 到+,+到+),你可以使用Math.abs
:感谢zubergu的小费。
System.out.printf("%+,.2f\n", Math.abs(n2));
'System.out.printf( “%+ ,. 2F \ n”,-N2);' – kjbartel 2015-02-23 02:25:38
Math.abs()是你的朋友。 – zubergu 2015-02-23 02:30:46