繁体   English   中英

为什么Visual Studio的调试无法将我的浮点数显示为简单的十进制值

[英]Why won't Visual Studio's debugging show me my floats as just simple decimal values

我在设置花车和视觉工作室,而调试总是向我展示这种大符号。

-4.3176166e + 008 -4.3160208e + 008

而不是

-0.605 -0.789

有什么办法可以让我看到以十进制显示的值,而不是其他符号。

因为-4.3176166e + 008!= -0.605 如果您的值是-0.605,则将这样显示,但对于具有大量有效数字的值,更容易用科学计数法进行读取-您无需计数数字,并且可以快速比较幅度比较指数就容易了

您使用标准符号表示的示例是:

-431761660和-431602080

也许还不错,但是对于很小或很大的数字,这是有益的,并且必须在某处画线。 例如,1.0e-20比0.00000000000000000001更容易理解(如果我记错了,那就证明了我的意思)。

它不是Visual Studio特有的。 您的袖珍科学计算器将做同样的事情-它必须具有有限的宽度显示。 因此,当您将代码中的结果与计算器上手工计算的值进行比较时,Visual Studio的行为也很有用。

以这种方式表示数字的另一个原因是二进制浮点表示的精度限制为浮点数大约为6个十进制数字,双精度数为15个左右,显示更多有效数字将产生误导。

如果问题是Visual Studio调试器以某种方式显示数字,则存在Visual Studio用于确定如何在调试器中显示值的autoexp.dat文件。 更改此文件中的定义将更改变量的显示方式。

这是有关使用autoexp.dat的教程:

http://www.idigitalhouse.com/Blog/?p=83

这些链接描述了新的Visualizer,但提到了autoexp.dat:

http://blogs.msdn.com/b/vcblog/archive/2012/07/12/10329460.aspx 教程/手册如何在autoexp.dat中创建Visualizer

如果您不想在精神上处理科学符号,并且不想更改Visual Studio设置,请使用电子表格。

将数字粘贴到单元格中,然后设置单元格格式以进行品尝。 例如,将-4.3176166e+008粘贴到LibreOffice Calc单元中并将该单元格格式设置为“ Number”,将显示-431761660 这样做的好处是,您可以在查看数字时轻松更改格式,并以相同的格式显示数字,即使这些数字来自不同的上下文并具有不同的原始格式。

无论如何,在调试数字程序时,电子表格通常都是有用的,以便进行快速计算并保持结果可见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM