首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

数据怎么能做到定长输出,Java有没有相应的API

2012-01-19 
数据如何能做到定长输出,Java有没有相应的API数据如何能做到定长输出,Java有没有相应的API,比如我有个随机

数据如何能做到定长输出,Java有没有相应的API
数据如何能做到定长输出,Java有没有相应的API,
比如我有个随机数据产生的API,大概范围在1~99999999,当它为567时,我希望它输出的为00000567,当它为45678时,输出为00045678,也就是输出为定长8位,不知有没有现成的JDK的API,如果没有,那就自己写一个。


[解决办法]
看看java.text.DecimalFormat可以不
如果不行就只有自己写字符串了
[解决办法]
很简单一个例子

Java code
import java.text.DecimalFormat;public class Patternp {    public static void main(String[] args) {                DecimalFormat myformat = new DecimalFormat();        myformat.applyPattern("00000000");        System.out.println(myformat.format(567));    }}
[解决办法]
public class FormatNum {
public static String getFormatStr(int num) {
String str = "00000000" + num;
return str.substring(str.length() - 8);
}

public static void main(String[] args) {
System.out.println(getFormatStr(567));
}
}

运行结果: 00000567

[解决办法]
探讨
很简单一个例子

Java code
import java.text.DecimalFormat;

public class Patternp {
public static void main(String[] args) {

DecimalFormat myformat = new DecimalFormat();
myformat.applyPattern("00000000");
System.out.println(myformat.format(567));
}
}

[解决办法]
探讨
但如果是16进制的话,用这方法就难处理了。比如要生成00000A6E

[解决办法]
[Quote=引用:]
很简单一个例子 

Java code
import java.text.DecimalFormat;public class Patternp {    public static void main(String[] args) {                DecimalFormat myformat = new DecimalFormat();        myformat.applyPattern("00000000");        System.out.println(myformat.format(567));    }}
[解决办法]
探讨
很简单一个例子

Java code
import java.text.DecimalFormat;

public class Patternp {
public static void main(String[] args) {

DecimalFormat myformat = new DecimalFormat();
myformat.applyPattern("00000000");
System.out.println(myformat.format(567));
}
}

[解决办法]
DecimalFormat 和 JDK 5 新增的 Formatter 都可以做到,DecimalFormat 上面已经说了很多了,我就不说了

Formatter 在 String 对象中有个工具类 String.format

Java code
String str = String.format("%08d", num);
[解决办法]
探讨
请问Formatter 如何格式化16进制的数?比如A34CE,要格式化为0000A34CE,DFA0格式化为00000DFA0

热点排行
Bad Request.