我有一个问题,我应该如何将printf用于多种格式的混合。在我的情况下,我试图给一个数字一定数量的空格,以便它完全适合在一个表中,我试图限制允许的小数位数。以下是我尝试过的printf:
System.out.printf("%1s%10s%27s%26s%28s%28s1.5d", typeOCar, startingMiles, endingMiles, Distance, gallons, MPG);
当我执行我的程序时,它会显示:
run:
Gas & Mileage Calculations
Car Type Starting Miles Ending Miles Distance Gallons Miles/Gallon
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Toyota Sequoia 15543 15565 22 16.5 1.33333333333333331.5dBUILD SUCCESSFUL (total time: 0 seconds)
非常感谢任何帮助。
答案 0 :(得分:0)
import java.text.DecimalFormat;
然后在您的代码中使用它:
DecimalFormat fmt = new DecimalFormat("00.##"); //0 = numbers before . and # numbers after .
并转换任何值(例如此处直接打印出来):
System.out.println(fmt.format(varName));
答案 1 :(得分:0)
f
:例如,%20.5f
%xs
应该是十进制说明符%xd
,其中x
是格式宽度。