我有这段代码
long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '0'))
使用此代码时,字符串不填充前导零。我不确定,但我的猜测是,当字符串被解析时,它会出于某种原因删除前导零?
如果我做这样的事情
long num = Int64.Parse(Convert.ToString(random.Next(0, 65535), 2).PadLeft(16, '8'))
或任何不为零的数字,它将正确输出为 16 位数字,前导 8。
为什么会发生这种情况有很好的解释吗?
还有快速简单的解决方法吗?
这不是任何使用int.ToString("D16")
或任何此类的复制品。我相信这是一个独特的问题。