截断的双常量是否在VS中显示?

时间:2010-09-18 17:40:28

标签: visual-studio metadata

根据反射器和MSDN,常数Math.Pi等于3.14159265358979323846。在Visual Studio 2010中查看Math类时,该值显示为3.14159。截断宝贵的常数我可以归咎于谁?

4 个答案:

答案 0 :(得分:7)

我不知道为什么OP没有张贴这个,因为它会让事情变得非常清楚,但你可以重现如下:

  • 打开IDE
  • 将Math.PI输入.cs文件。
  • 右键单击Math.PI并单击“转到定义”

这将打开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中您是否正在查看此编号?