我想实现的是一个这样功能:
int i = 10;
System.out.println(Integer.toBinaryString(i));
//输出为
//1010
//可否可一个方法可以实现输出10位的二进制数 高位补0
//即输出为
//0000001010
//0001001010
//0000000010
------最佳解决方案--------------------------------------------------------
public static void main(String[] args) throws Exception {
System.out.println(parseToBinaryString(10));
System.out.println(parseToBinaryString(74));
System.out.println(parseToBinaryString(3));
}
private static String parseToBinaryString(int value){
String str = Integer.toBinaryString(value);
StringBuffer stringBuffer = new StringBuffer();
for(int i = 0; i < 10 - str.length(); i ++)
stringBuffer.append('0');
stringBuffer.append(str);
return stringBuffer.toString();
}
也许用formater可以直接实现?
没研究过
------其他解决方案--------------------------------------------------------
//0001001010 这个是106吗?
//0000000010 这个是2 吗 ?
------其他解决方案--------------------------------------------------------
formater我实现可以按一定的宽度输出 但是高位不会自动补0
你的方法可行,但总觉得有API可以实现