根据反射器和MSDN,常数Math.Pi
等于3.14159265358979323846。在Visual Studio 2010中查看Math类时,该值显示为3.14159。截断宝贵的常数我可以归咎于谁?
答案 0 :(得分:7)
我不知道为什么OP没有张贴这个,因为它会让事情变得非常清楚,但你可以重现如下:
这将打开Math的元数据文件,其中包含以下内容:
//
// Summary:
// Represents the ratio of the circumference of a circle to its diameter, specified
// by the constant, π.
public const double PI = 3.14159;
答案 1 :(得分:2)
很抱歉重复一遍,但你怎么得到那个号码?如果我将鼠标悬停在常量上或在VS2010的立即或观察窗口中打印它,我得到3.1415926535897931,这也是我在Reflector中查看mscorlib时得到的值。
虽然它不如MSDN声称的那么精确,但它仍然远远好于你所说的数字。 VS必须选择用于打印浮点数的格式。结果我看到我发现默认是完全可以接受的。
答案 2 :(得分:2)
你可以责怪VS元数据视图,这是你在没有源代码的情况下按F12时得到的。
至少我认为这就是你正在做的事情,因为这是我能找到你所谈论的截断常数的唯一地方。
它为什么这样做/从哪里获得该值?谁知道......
答案 3 :(得分:1)
也许你有一个VS 2010的插件正在改变数字的输出。或者您可能在显示上下文中显示数字,该数字必须截断数字以适应。 在中完全在Visual Studio中您是否正在查看此编号?