以下代码试验通过可行:?我自己对VB这门语言也是一知半解,代码写得很蹩脚。返回值只能设定为Double了,设定为Long的话您的40位二进制会溢出的。Double可允许的最大数值范围要大很多。Double最大有效数值位数为16位。也就是说最大能准确无误地显示的整数为:999999999……(16个9)。比这个数更大的整数赋值给Double就只能显示为不精确的小数或者用科学计数法表示了。而这个数转换为2进制后是49位。也就是说下面这段代码最多只能转换49位二进制数。比这个更长的数转换的结果就不精确。您可以用Win7系统自带的计算器的程序员模式进行验证。Function MyBinToDec(ByVal value As St