当前位置: 首页 > 面试题库 >

在Java中用前导零填充等于零(“ 0”)的二进制字符串

白刚洁
2023-03-14
问题内容
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";


 类似资料:
  • 问题内容: 但是我没有得到如何用零填充字符串。 输入:“ 129018”输出:“ 0000129018” 总输出长度应为TEN。 问题答案: 如果你的字符串仅包含数字,则可以将其设为整数,然后进行填充:

  • 问题内容: 当将int转换为二进制时,如何将其输出为8个字符,当前仅显示1且缺少7个零 码 示例输出到0000 0001 问题答案: 我不确定这是否是您的意思,但是类似 会产生

  • 问题内容: 抱歉,如果已经提出此问题,我已经进行了深入搜索,什么也没有。 现在,我知道: 会将我的价格填充到左侧的零,因此价格为25将得出 00025 如果我想将它们向右填充,结果是 25000 怎么办?我该如何 仅 使用 String.format 模式呢? 问题答案: 您可以使用: 我可以只使用格式模式吗? 就像方法一样使用。从这篇文章中,您将看到输出空间是硬编码的,因此必须使用。

  • 抱歉,如果这个问题已经提出,我已经做了深入的搜索,什么都没有。 现在,我知道: 会在左边用0填充我的价格,所以25的价格会导致00025 如果我想把它们垫在右边,结果是25000呢?如何仅使用String.format模式?

  • 问题内容: 在JavaScript中建议零填充值的推荐方法是什么?我想我可以构建一个自定义函数以将零填充到类型转换值上,但是我想知道是否有更直接的方法来做到这一点? 注意: “零填充”是指该词在数据库中的含义(其中数字5的6位零填充表示为“ 000005”)。 问题答案: 正如评论员所指出的那样,该解决方案是“聪明的”,而且通常就像聪明的解决方案一样,它占用大量内存并且相对较慢。如果您担心性能,请

  • 问题内容: 我正在查看Mozilla的代码,该代码向Array添加了一个过滤器方法,并且其中的一行代码使我感到困惑。 我从未见过>>>在JavaScript中使用过。 这是什么,它做什么? 问题答案: 它不仅将非数字转换为数字,还将其转换为可以表示为32位无符号整数的数字。 虽然JavaScript的数字是双精度浮点(*),位运算符(,,,和)在对32位整数运算的定义。进行按位运算会将数字转换为3