站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题输出格式(控制输出小数位数,对齐)

输出格式(控制输出小数位数,对齐)

摘要: 输出格式(控制输出小数位数,对齐)


1.如果有个double a为234.23423454454
那么System.out.println(a);
就会输出234.23423454454。
我想输出234.23 (也就是只输出2位小数)
怎么办?



2.要输出如下格式的信息
材料 厂别 消耗量
r1 f1 200
r1 f2 3000
......
我在一个for循环中写的是
System.out.println(resourceID+" "+factoryID+" "+amount);
但是如果resourceID有的是2个字母,有的是3个字母的话,后面的就对不齐了。
就成了
ab f1 200
abc f2 3000
还有就是factoryID也是不等长的字符串,以至格式异常混乱。
问怎么对齐?


简单点的:

public class FormatOutput {
public static void main(String args[]) {
System.out.printf("%.2f/n", 2.3333);
System.out.printf("%-10s%-10s%-10s/n", "ab", "f1", "200");
System.out.printf("%-10s%-10s%-10s/n", "abc", "factory", "200");
}
}

需要Java 1.5支持。


DecimalFormat类
如果你用1.5以上,也可以用楼上的方法


用Format类。


1.
DecimalFormat format=new DecimalFormat();
for


1.double a=234.23423454454;
DecimalFormat format=new DecimalFormat("#0.00");
System.out.println(format.parse(a));
2.for(int i=0;i<10;i++){
...
System.out.println(resourceID);
for(int n=resourceID.length();n<10;n++){
System.out.print(" ");
}
System.out.println(factoryID);
for(int n=resourceID.length();n<10;n++){
System.out.print(" ");
}
System.out.print(amount);
}



用楼的说的那个printf方法,
它好像会自动进行四舍五入的,
这个人要注意


lip009(深蓝忧郁)
第一问有误啊!
double a=234.23423454454;
DecimalFormat format=new DecimalFormat("#0.00");
System.out.println(format.parse(a));
我用的是jdk15


不好意思,写错了
double a = 234.23423454454;
DecimalFormat format = new DecimalFormat("#0.00");
System.out.println(format.format(a));




↑返回目录
前一篇: 求助,一个简单的计算器程序 但是不能显示结果
后一篇: 帮我看看这个web.xml文件,明明没有错,就是提示""应该有结束标志""才行