我有这个号码
111100000000000010001000
我想用前导零将它扩展到32位。换句话说:
00000000111100000000000010001000
所以我在这里找到了这个建议: Add leading zeroes/0's to existing Excel values to certain length
是使用Right功能。所以我这样做:
=RIGHT("00000000000000000000000000000000"+A1,32)
我最终获得了工程符号的数字。所以我在其他地方建议添加:
=TEXT(RIGHT("00000000000000000000000000000000"+A1,32), "0")
我还是
111100000000000000000000
不是32位,尾随10001000变为零。
知道这里发生了什么吗?
答案 0 :(得分:0)
Excel将其作为十进制数,而不是二进制数。
111100000000000010001000
十进制数对于Excel必须提供的数字精度来说太多了,因此在应用零之前将其舍入为111100000000000000000000
(如果应用数字,您可以看到自己格式为A1
,禁止科学记数法。)
解决方案是相同的,将所有数字视为字符串。使用撇号在A1
前面添加源代码以使其成为字符串,然后RIGHT
将按预期工作。
好吧,它实际上不会,因为I used +
我应该使用&
,所以Excel会尝试转换为数字并实际进行添加。所以纠正公式:
=RIGHT("00000000000000000000000000000000"&A1,32)