关于int 转换String 的问题
int类型的数字 0,1,2,3
java里有直接将它转换成String 类型的: 000,001,002,003的函数和方法吗?请指教?就是不够位数用 "0 "补.
------解决方案--------------------String str = " "+1;
------解决方案--------------------没有,要自己写个方法,应该不难的
------解决方案--------------------没见过。
好象没有。
------解决方案--------------------没有直接转换的方法吗?
------解决方案--------------------就我目前所知,似乎没有,如果需要的话,自己写一个方法就是了,非常简单。
------解决方案--------------------没有吧...没见过
------解决方案--------------------public static String get(int value){
if(Integer.toString(value).length==1)
return "00 "+Integer.toString(value);
else if(Integer.toString(value).length==2)
return "0 "+Integer.toString(value);
else
return Integer.toString(value);
}
------解决方案--------------------int di = 1; //这里假设值为1 也可以是从其他地方传过来的值
String sr = " "+di;
for(int i=sr.length;i <4;i++){ //只要没到4位就前加 "0 " 也可以换成任意N位
sr = "0 "+sr;
}
System.out.println(sr);
------解决方案--------------------/**
* 以指定的字符左填充
*
* @param s 需要填充的字串
* @param len 填充后的长度
* @param c 指定的填充字符
* @return 左填充零后的字串
*/
public static String padLeft(String s, int len, char c) {
if (s == null) {
s = " ";
}
s = s.trim();
if (length(s) > = len) {
return s;
}
StringBuffer d = new StringBuffer(len);
int fill = len - length(s);
while (fill-- > 0) {
d.append(c);
}
d.append(s);
return d.toString();
}
------解决方案--------------------public static String int2string(int i)
{
if(i < 10)
return "00 " + Integer.toString(i);
else if(i < 100)
return "0 " + Integer.toString(i);
else
return Integer.toString(i);
}
------解决方案--------------------用DecimalFormat格式化就可以了。
public class Test {
public static void main(String[] args){
java.text.DecimalFormat df=new java.text.DecimalFormat( "000 ");
for(int i=0;i <10;i++)
System.out.println(df.format(i));
}
}
------解决方案--------------------NumberFormat format = NumberFormat.getInstance();
format.setMinimumIntegerDigits(3);
public String format(int i)
{
return format.format(i);
}
------解决方案--------------------这个很简单,自已写一个小函数就是了
还要找API不成?
------解决方案--------------------看着挺简单的题,真做起来还有点复杂!!
------解决方案--------------------DecimalFormat应该是正解
------解决方案--------------------