gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:57 24 4
gpt4 key购买 nike

Integer.toBinaryString(data)

给我数组数据的二进制字符串表示形式。

但是我想要一种向其添加前导零的简单方法,因为等于零的字节数组会给我一个“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 - 在 Java 中用前导零填充等于零的二进制字符串 ("0"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8457734/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com