救助关于vb.net的精度问题

近日在使用vb.net做一个无限分类,突然发现VB.net的一个精度问题,现在发上园子里,看看大家有看法或者解决的办法
代码如下:
String.Format("{0:####################}"2 ^ 63 - 1)
以上为求2的63次方减去1的值
输出的结果为:9223372036854780000
如果没有用format 结果为:922337203685478E+18
而我一同事用C#同样的一句输出结果是:9223372036854775807
而我在用Windows自带的计算器输出的结果同C#输出的结果。这样子就郁闷了,难道真的是VB.net的精度问题吗?还是说我用错了方法?
还请大家给指点一下~


问题已解决
解决方法:
使用ctype(math.pow(2,63)-1,long)
然后在工程,编译》》高级编译选项:在优化哪一框,“不做整数溢出检查”这个选项打上钩!OK啦~
posted @ 2007-11-01 22:35  没剑  阅读(550)  评论(2编辑  收藏  举报