S$ = "FFFFFFFF" if clng("&H" & S )< 0 then x# = 2^32 + clng("&H" & S ) else x# = clng("&H" & S ) end if 个人认为,是数据类型定义的不对,实际数值已经超过规定范围了。我觉得可以定义double或currency http://blog.csdn.net/chinaboyzyq/archive/2010/04/09/5466433.aspx 这里有答案: http://topic.csdn.net/u/20100309/04/ac6d370d-91be-4ea3-b66c-04de0413a9dc.html 关于C#的代码转为VB的代码有一事不明