1

当我使用 MS Visual Studio 的内置单元测试向导创建测试时,它创建的代码如下所示:

double number = 0F;

在 C# 中,“F”代表浮点数、大小写无关,“D”代表双精度。使用“F”后缀而不是“D”会导致精度丢失。

如果是错误,我可以在哪里向 Microsoft 报告?

4

3 回答 3

2

我不明白这怎么可能只是一个错误。在这种情况下完全无害,但仍然是一个错误。您可以使用Connect报告此类事情。但是,我已经排除了比这更重要的错误,所以我不希望采取太多行动。

于 2009-02-23T21:46:16.990 回答
0

如果该值始终为 0F,则根本不会丢失任何信息。

通常,任何浮点数都可以转换为双精度而不损失精度(假设为 IEEE 754)。

只要测试值不需要截断来表示为浮点数,那么在正确性方面就没有问题。最终用户的困惑和想要修改值时增加的麻烦仍然是一个问题。

于 2009-02-24T00:42:36.723 回答
-1

如果您使用小数(M 后缀),那么您不必担心它会出现估计错误或精度损失。

于 2009-02-23T21:47:54.270 回答