2014-01-08 328 views
4

我需要能够将047C1BEA3A2480转换为十进制。这应该转换为1262359242482816。我有大量需要转换的十六进制数字,所以需要一个公式或VB脚本。如何将14位十六进制转换为十进制

我尝试过的一些事情,包括一个VB模块,但是这个我需要前缀0X数量,但然后给了我一个十进制数,超出由4

任何想法将是巨大的。

回答

3

使用内置CDec功能

Debug.Print CDec("&H" & "047C1BEA3A2480") 

这会给你1262359242482816

截图

enter image description here

+0

嗨,谢谢你。我怎么能大规模地做到这一点? – Leigh

+0

您可以使用for循环,如果您正在使用VBA或为此创建UDF –

0

分成2个7位数,并使用HEX2DEC功能。不幸的是,Excel无法处理这么大的数字,因此当您将它放回到Excel中时它是四舍五入的。例如,尝试将十进制版本粘贴到Excel中。但如果你想要这个公式。

=HEX2DEC(LEFT(A4,7))*16^7+HEX2DEC(RIGHT(A4,7)) 

否则,使用Siddarth的解决方案,并将其作为文本在Excel中。

相关问题