我有以下代码行:
double r = 0.000056262413896897934;
在Visual Studio 2013中,我转到即时窗口并输入:
?r
结果将显示double的值:
0.000056262413896897934
但是,如果我在Visual Studio 2017中调出项目并在立即窗口中键入此内容:
?r
它显示以下结果(指数格式):
5.6262413896897934E-05
我希望Visual Studio 2017以与Visual Studio 2013相同的方式显示格式:
0.000056262413896897934
不仅用于此变量或此解决方案,而且作为永久设置。有谁知道如何做到这一点?预先感谢
答案 0 :(得分:0)
正如@Amy所提到的,您可以使用DebuggerDisplay
来更改调试器中对象的外观。由于double
是内置类型,您不能仅更改其实现。对于这种情况,调试器具有一项功能,可以在DebuggerDisplay
autoexp.cs
实现中加载
autoexep.cs
文件,该文件应位于以下目录中:
C:\Program Files (x86)\Microsoft Visual Studio\16\Preview\Common7\Packages\Debugger\Visualizers\Original
显然会随您的VS版本而改变,但是如果您搜索autoexp.cs
,则会找到它。 [assembly: DebuggerDisplay(@"{ToString(""F17""),nq}", Target = typeof(Double))]
,这将告诉调试器在显示ToString("F17")
时基本上执行double
。 autoexp.cs
所在的位置C:\Program Files (x86)\Microsoft Visual Studio\16\Preview\Common7\Packages\Debugger\Visualizers\Original
csc /t:library autoexp.cs
然后您应该会看到类似的内容:
有关DebuggerDisplay
的更多信息,请参见我们的文档:https://docs.microsoft.com/en-us/visualstudio/debugger/using-the-debuggerdisplay-attribute?view=vs-2017,有关ToString
的{{1}}实现的更多信息,请参见:https://docs.microsoft.com/en-us/dotnet/api/system.double.tostring?view=netframework-4.7.2。