开发者

Are Double constants truncated for display in VS?

开发者 https://www.devze.com 2023-01-16 13:00 出处:网络
The constant Math.Pi is, according to reflector and 开发者_如何学JAVAMSDN, equal to 3.14159265358979323846. When looking at the Math class in Visual Studio 2010, the value is displayed as 3.14159. Who

The constant Math.Pi is, according to reflector and 开发者_如何学JAVAMSDN, equal to 3.14159265358979323846. When looking at the Math class in Visual Studio 2010, the value is displayed as 3.14159. Whom can I blame for truncating precious constants?


I don't know why the OP isn't posting this, as it would clear things up so incredibly much, but you can reproduce as follows:

  • Open the IDE
  • Enter Math.PI into a .cs file.
  • Right-click on Math.PI and click on 'Go To Definition'

This opens up the Metadata file for Math, which contains the following:

    //
    // Summary:
    //     Represents the ratio of the circumference of a circle to its diameter, specified
    //     by the constant, π.
    public const double PI = 3.14159;


Sorry to repeat myself, but how do you get that number? If I hover over the constant or print it in the Immediate or Watch window in VS2010, I get 3.1415926535897931, which is also the value I get when looking at mscorlib in Reflector.

While it is less precision than MSDN claims, it is still far better than the number you're talking about. VS has to pick a formatting for printing floating point numbers. With the results I see I find the default quite acceptable.


You can blame the VS metadata view, which is what you get when you press F12 on something you don't have the source to.

At least I presume that's what you're doing, because it's the only place I can find the truncated constant you're talking about.

Why does it do it / where does it get that value from? Who knows...


Maybe you have a plugin for VS 2010 that is changing the output of the number. Or maybe you're displaying the number in a display context that has to truncate the number to fit. Where exactly in Visual Studio are you viewing this number?

0

精彩评论

暂无评论...
验证码 换一张
取 消