在Java中用前导零填充等于零(“ 0”)的二进制字符串
Integer.toBinaryString(data)
给我数组数据的二进制String表示形式。
但是,我想要一种添加前导零的简单方法,因为等于零的字节数组为我提供了“ 0”字符串。
我想要这样的一线客:
String dataStr = Integer.toBinaryString(data).equals("0") ? String.format(format, Integer.toBinaryString(data)) : Integer.toBinaryString(data);
是String.format()
正确的方法吗?如果是,我format
应该使用什么字符串?提前致谢!
编辑:data
数组是动态长度,因此前导零的数目也应如此。
回答:
对于使用5个前导零填充,这将起作用:
String.format("%5s", Integer.toBinaryString(data)).replace(' ', '0');
您没有指定字符串的预期长度,在上面我使用5的示例代码中,将其替换为适当的值。
我只是注意到这些评论。当然,您可以动态构建模式,但是在某些时候,您 必须 知道最大预期大小,具体取决于您的问题,您将知道如何确定该值:
String formatPattern = "%" + maximumExpectedSize + "s";
以上是 在Java中用前导零填充等于零(“ 0”)的二进制字符串 的全部内容, 来源链接: utcz.com/qa/415170.html